/* APS — browsers/browsers.css — 2026-09-24
   Commun au S3 Browser et au SharePoint Browser : trois colonnes — les
   connexions à gauche, le contenu au centre, le détail à droite quand un
   élément est choisi. Couleurs par jetons, comme le reste d'APS. */

:root{
  --accent:#d6d233; --bg:#0f1011; --bg2:#151718; --bg3:#1a1d1f;
  --text:#eef0f1; --text-dim:#a6b0b8; --border:#262a2e;
  --ok:#27ae60; --warn:#e67e22; --err:#e74c3c; --info:#3498db;
  --scroll-pouce:#3a4147;
  color-scheme:dark;
}
/* `display` posé par une classe l'emporte sur l'attribut `hidden` : on le
   rétablit, sinon « caché » ne cache rien (leçon du 2026-09-15). */
[hidden]{ display:none !important; }

html, body{ height:100%; }
body{
  margin:0; background:var(--bg); color:var(--text);
  font:13px/1.45 system-ui,-apple-system,Segoe UI,sans-serif;
  display:flex; flex-direction:column;
  scrollbar-width:thin; scrollbar-color:var(--scroll-pouce) transparent;
}
button, input, select, textarea{ font:inherit; color:inherit; }

.brw{ flex:1; display:flex; min-height:0; }

/* ── Colonne des connexions ───────────────────────────────────────── */
.brw-cote{
  width:290px; flex-shrink:0; overflow:auto; padding:16px;
  background:var(--bg2); border-right:1px solid var(--border);
}
.brw-titre{ display:flex; align-items:center; gap:8px; margin:0 0 10px; }
.brw-titre h2{ margin:0; font-size:13px; font-weight:600; flex:1; }
.brw-aide{
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  width:16px; height:16px; border-radius:50%; border:1px solid var(--border);
  color:var(--text-dim); font-size:10.5px; cursor:default; user-select:none;
}
.brw-aide:hover{ border-color:var(--text-dim); color:var(--text); }

.brw-connexions{ list-style:none; margin:0 0 14px; padding:0; }
.brw-connexion{
  padding:8px 10px; border-radius:7px; cursor:pointer; border:1px solid transparent;
  display:flex; flex-direction:column; gap:2px;
}
.brw-connexion:hover{ background:var(--bg3); }
.brw-connexion[data-choisie="1"]{ border-color:var(--accent); background:var(--bg3); }
.brw-connexion-nom{ font-weight:550; }
.brw-connexion-sous{ color:var(--text-dim); font-size:11.5px; display:flex; gap:6px; flex-wrap:wrap; }
.brw-pastille{
  padding:0 6px; border-radius:999px; border:1px solid var(--border);
  font-size:10.5px; color:var(--text-dim);
}
.brw-pastille[data-genre="org"]{ border-color:rgba(232,160,32,.4); color:#e8a020; }
.brw-pastille[data-genre="ok"]{ border-color:rgba(39,174,96,.45); color:var(--ok); }
.brw-pastille[data-genre="attente"]{ border-color:rgba(230,126,34,.45); color:var(--warn); }
.brw-vide-liste{ color:var(--text-dim); font-size:12px; margin:0 0 12px; }

/* ── Formulaires ─────────────────────────────────────────────────── */
.brw-form{ display:flex; flex-direction:column; gap:10px; padding-top:12px; border-top:1px solid var(--border); }
.brw-champ{ display:flex; flex-direction:column; gap:4px; }
.brw-champ > span{ font-size:11px; color:var(--text-dim); text-transform:uppercase; letter-spacing:.04em; display:flex; gap:6px; align-items:center; }
.brw-champ input[type="text"], .brw-champ input[type="password"], .brw-champ input:not([type]), .brw-champ select, .brw-champ textarea{
  background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:7px 9px; min-width:0;
}
.brw-champ input:focus, .brw-champ select:focus, .brw-champ textarea:focus{ outline:none; border-color:var(--accent); }
.brw-case{ display:flex; gap:8px; align-items:center; font-size:12.5px; }
.brw-ligne-boutons{ display:flex; gap:8px; flex-wrap:wrap; }

.brw-btn{
  padding:6px 12px; border-radius:6px; cursor:pointer;
  background:transparent; border:1px solid var(--border); color:var(--text);
}
.brw-btn:hover:not(:disabled){ border-color:var(--text-dim); }
.brw-btn:disabled{ opacity:.45; cursor:default; }
.brw-btn[data-genre="principal"]{ background:var(--accent); border-color:var(--accent); color:var(--bg); font-weight:600; }
.brw-btn[data-genre="danger"]{ border-color:rgba(231,76,60,.5); color:var(--err); }
.brw-btn[data-genre="danger"]:hover:not(:disabled){ border-color:var(--err); }
/* Un lien habillé en bouton (ouvrir dans Microsoft 365) se lit comme ses voisins. */
a.brw-btn{ text-decoration:none; text-align:center; }
.brw-lien-btn{ padding:0; border:0; background:none; color:var(--accent); cursor:pointer; text-decoration:underline; }

.brw-message{ margin:0; font-size:12px; color:var(--text-dim); }
.brw-message:empty{ display:none; }
.brw-message[data-genre="erreur"]{ color:var(--err); }
.brw-message[data-genre="ok"]{ color:var(--ok); }

/* ── Colonne centrale ────────────────────────────────────────────── */
.brw-centre{ flex:1; min-width:0; display:flex; flex-direction:column; }
.brw-barre{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding:12px 16px; border-bottom:1px solid var(--border); background:var(--bg2);
}
.brw-fil{ display:flex; align-items:center; gap:4px; flex-wrap:wrap; flex:1; min-width:200px; font-size:13px; }
.brw-fil-sep{ color:var(--text-dim); }
.brw-fil-lien{ padding:2px 4px; border:0; background:none; color:var(--text); cursor:pointer; border-radius:4px; }
.brw-fil-lien:hover{ background:var(--bg3); }
.brw-fil-lien[data-courant="1"]{ font-weight:600; cursor:default; }
.brw-filtre{ background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:6px 9px; width:180px; }

.brw-infos{ padding:8px 16px; font-size:12px; color:var(--text-dim); display:flex; gap:14px; flex-wrap:wrap; border-bottom:1px solid var(--border); }
.brw-infos:empty{ display:none; }
.brw-info[data-genre="warn"]{ color:var(--warn); }
.brw-info[data-genre="ok"]{ color:var(--ok); }

.brw-contenu{ flex:1; overflow:auto; padding:0 0 24px; }
.brw-table{ width:100%; border-collapse:collapse; }
.brw-table th{
  position:sticky; top:0; background:var(--bg); text-align:left; font-weight:550;
  color:var(--text-dim); font-size:11px; text-transform:uppercase; letter-spacing:.04em;
  padding:8px 12px; border-bottom:1px solid var(--border);
}
.brw-table td{ padding:7px 12px; border-bottom:1px solid rgba(38,42,46,.6); white-space:nowrap; }
.brw-table td.brw-col-nom{ white-space:normal; word-break:break-all; }
.brw-table tr[data-cliquable="1"]{ cursor:pointer; }
.brw-table tbody tr:hover{ background:var(--bg2); }
.brw-table tr[data-choisie="1"]{ background:var(--bg3); }
.brw-col-case{ width:28px; }
.brw-col-num{ text-align:right; color:var(--text-dim); }
.brw-col-dim{ color:var(--text-dim); }
.brw-icone{ display:inline-block; width:18px; text-align:center; margin-right:6px; }
.brw-plus{ margin:12px 16px 0; }
.brw-etat-centre{ padding:40px 24px; color:var(--text-dim); text-align:center; }
.brw-etat-centre[data-genre="erreur"]{ color:var(--err); }

/* ── Colonne du détail ───────────────────────────────────────────── */
.brw-detail{
  width:340px; flex-shrink:0; overflow:auto; padding:16px;
  background:var(--bg2); border-left:1px solid var(--border);
}
.brw-detail h3{ margin:0 0 4px; font-size:14px; word-break:break-all; }
.brw-detail-sous{ margin:0 0 14px; color:var(--text-dim); font-size:12px; word-break:break-all; }
.brw-kv{ display:grid; grid-template-columns:auto 1fr; gap:4px 12px; margin:0 0 16px; font-size:12px; }
.brw-kv dt{ color:var(--text-dim); }
.brw-kv dd{ margin:0; word-break:break-all; }
.brw-section{ margin:0 0 16px; }
.brw-section h4{ margin:0 0 8px; font-size:11px; color:var(--text-dim); text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.brw-actions{ display:flex; flex-direction:column; gap:8px; }
.brw-lien-genere{
  width:100%; box-sizing:border-box; background:var(--bg); border:1px solid var(--border);
  border-radius:6px; padding:6px 8px; font-size:11px; color:var(--text-dim);
}

/* ── Dépôts en cours ─────────────────────────────────────────────── */
.brw-depots{ list-style:none; margin:0; padding:8px 16px; display:flex; flex-direction:column; gap:6px; border-bottom:1px solid var(--border); }
.brw-depots:empty{ display:none; }
.brw-depot{ display:flex; gap:10px; align-items:center; font-size:12px; }
.brw-depot progress{ flex:0 0 160px; accent-color:var(--accent); }
.brw-depot[data-etat="erreur"]{ color:var(--err); }
.brw-depot[data-etat="ok"]{ color:var(--ok); }

/* ── Dialogue ────────────────────────────────────────────────────── */
.brw-dialogue{
  background:var(--bg2); color:var(--text); border:1px solid var(--border); border-radius:12px;
  padding:20px; width:min(480px, 92vw); box-shadow:0 20px 50px rgba(0,0,0,.5);
}
.brw-dialogue::backdrop{ background:rgba(0,0,0,.55); }
.brw-dialogue h3{ margin:0 0 10px; font-size:15px; }
.brw-dialogue p{ margin:0 0 10px; color:var(--text-dim); line-height:1.5; }
.brw-dialogue ul{ margin:0 0 12px; padding-left:18px; color:var(--text-dim); font-size:12px; max-height:180px; overflow:auto; }
.brw-dialogue input{ width:100%; box-sizing:border-box; background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:8px 10px; margin:0 0 14px; }
.brw-dialogue pre{ background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:10px; font-size:11px; overflow:auto; max-height:220px; }
.brw-dialogue-boutons{ display:flex; justify-content:flex-end; gap:8px; }

/* ── Code d'appareil (SharePoint) ────────────────────────────────── */
.brw-code{ padding:14px; border:1px solid var(--border); border-radius:10px; background:var(--bg); display:flex; flex-direction:column; gap:8px; }
.brw-code-valeur{ font:600 22px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.12em; color:var(--accent); user-select:all; }

.brw-onglets{ display:flex; gap:4px; }
.brw-onglet{ padding:6px 12px; border:1px solid var(--border); border-radius:6px; background:transparent; cursor:pointer; color:var(--text-dim); }
.brw-onglet[aria-selected="true"]{ color:var(--text); border-color:var(--accent); }

@media (max-width:1100px){ .brw-detail{ width:280px; } }

/* Fil d'Ariane du header — même dessin que les écrans d'administration. */
.breadcrumb{ font-size:13px; color:var(--text-dim); }
.breadcrumb a{ color:var(--text-dim); text-decoration:none; }
.breadcrumb a:hover{ color:var(--text); }
