/* Pages du portier, aux couleurs du site Armada (css/style.css). */
:root {
  --teal-fonce: #133a43; --teal: #1e4a56; --teal-clair: #2f6573; --acier: #4c7086;
  --or: #d6a72b; --parchemin: #e9dfc8; --encre: #1d2326; --rouge: #c8241f; --vert: #2c8a46;
}
* { box-sizing: border-box; }
body {
  margin: 0; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 24px 16px; color: var(--encre); font: 16px/1.55 "Noto Serif", Georgia, serif;
  background: linear-gradient(var(--teal-fonce), #0f2f37);
}
.carte { width: 100%; max-width: 440px; background: #fbf8f0; border: 3px solid var(--or); box-shadow: 0 6px 30px rgba(0,0,0,.4); padding: 26px 24px; }
.carte.large { max-width: 640px; }
h1 { font: 34px "Uncial Antiqua", Georgia, serif; color: var(--teal); text-align: center; margin: 0 0 4px; }
.sous-titre { text-align: center; color: var(--acier); margin: 0 0 20px; font-style: italic; }
h2 { font: 21px "Almendra SC", Georgia, serif; color: var(--teal); margin: 22px 0 8px; border-bottom: 1px solid #cdbd99; }
button {
  font: 600 16px "Noto Serif", Georgia, serif; cursor: pointer; border: 2px solid var(--teal);
  background: var(--teal); color: #fff; padding: 10px 16px;
}
button:hover:not(:disabled) { background: var(--teal-clair); }
button:disabled { opacity: .5; cursor: wait; }
button.secondaire { background: #fff; color: var(--teal); }
button.danger { background: #7a1f1a; border-color: #7a1f1a; }
button.petit { font-size: 13px; padding: 3px 9px; }
.principal { display: block; width: 100%; font-size: 19px; padding: 13px; }
label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; font-weight: 600; color: var(--acier); margin: 10px 0; }
input { font: 17px "Noto Serif", Georgia, serif; padding: 7px 9px; border: 1px solid #9fb3ba; }
details { margin-top: 18px; border-top: 1px solid #cdbd99; padding-top: 10px; }
summary { cursor: pointer; color: var(--teal-clair); font-weight: 600; }
.qr { display: block; margin: 8px auto; width: 200px; height: 200px; image-rendering: pixelated; }
code { font-size: 15px; word-break: break-all; }
.message { min-height: 1.5em; color: var(--rouge); font-weight: 600; margin: 14px 0 0; }
.message.ok { color: var(--vert); }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
td { padding: 6px 4px; border-bottom: 1px solid #e3dccb; }
td:last-child { text-align: right; }
.ligne { display: flex; gap: 8px; flex-wrap: wrap; align-items: end; margin-top: 10px; }
.ligne label { margin: 0; flex: 1; min-width: 180px; }
.badge { display: inline-block; font-size: 11.5px; font-weight: 700; padding: 0 7px; margin-left: 6px; border-radius: 8px; background: #dfe7ea; color: var(--teal); vertical-align: middle; }
.badge.or { background: var(--or); color: #3a2a00; }
td small { color: var(--acier); }
td button { margin: 2px 0 2px 4px; }
.avertissement { background: #fff4d6; border: 1px solid var(--or); padding: 10px 12px; color: #5c4400; }
[hidden] { display: none !important; }
.retour { margin-top: 16px; text-align: center; }
.retour a { color: var(--parchemin); }
