/* BIA Broadstreet · Rsecure — fondations (charte rsecure.lu) */
@font-face{font-family:"Hanken Grotesk";src:url(fonts/hanken-grotesk.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}
:root{
  --ink:#001018; --navy:#002134; --navy-2:#0b344a; --navy-3:#1b465c;
  --blue:#007ac2; --blue-d:#015f92; --blue-l:#76accc; --blue-xl:#a3ddff; --blue-bg:#e6f2fa;
  --orange:#e97c15; --orange-bg:#fdf1e5; --orange-d:#a8540a;
  --crit:#d63c3c; --crit-bg:#fcebeb; --crit-d:#a92828;
  --ok:#1f8a5b; --ok-bg:#e7f5ee;
  --canvas:#f2f5f8; --surface:#fff; --line:#dbe3ea; --line-2:#c6d2dd;
  --text:#0b1f2c; --muted:#5a7184; --faint:#8a9cab;
  --r:0 12px 12px 12px; --r-sm:0 8px 8px 8px; --r-xs:0 5px 5px 5px;
  --shadow:0 1px 2px rgba(0,16,24,.06),0 6px 24px -8px rgba(0,16,24,.14);
  --shadow-lg:0 24px 60px -18px rgba(0,16,24,.45);
  --font:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--font);font-size:14px;line-height:1.45;color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}
.muted{color:var(--muted)}
[hidden]{display:none!important}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border:1px solid transparent;border-radius:var(--r-sm);
  background:var(--blue);color:#fff;font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--blue-d)}
.btn svg{width:16px;height:16px;flex:none}
.btn.ghost{background:var(--surface);color:var(--navy-2);border-color:var(--line-2)}
.btn.ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn.dark{background:var(--navy)}
.btn.dark:hover{background:var(--navy-2)}
.btn.danger{background:var(--surface);color:var(--crit-d);border-color:#efc4c4}
.btn.danger:hover{background:var(--crit);color:#fff;border-color:var(--crit)}
.btn.sm{height:32px;padding:0 12px;font-size:13px}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* Champs */
.field{display:flex;flex-direction:column;gap:6px}
.field>label,.lbl{font-size:12.5px;font-weight:600;color:var(--navy-2)}
.input,.field input,.field select,.field textarea{height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;transition:border-color .15s,box-shadow .15s;width:100%}
.field textarea{height:auto;min-height:70px;padding:10px 12px;resize:vertical}
.input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,122,194,.15)}

/* Étiquettes de statut */
.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:var(--r-xs);font-size:11.5px;font-weight:600;white-space:nowrap;margin:1px 4px 1px 0;background:var(--blue-bg);color:var(--blue-d)}
.tag.c{background:var(--crit-bg);color:var(--crit-d)}
.tag.t{background:var(--orange-bg);color:var(--orange-d)}
.tag.ok{background:var(--ok-bg);color:var(--ok)}
.tag.n{background:#eef2f5;color:var(--muted)}
