/* BURDIGALA.status — back-office : compléments à Burdigala UI 1.1 (même coquille que BURDIGALA.articles). */
:root {
  --st-ok: #25745a; --st-ok-soft: #e3f4ed; --st-maint: #2f5fa8; --st-maint-soft: #e5edf8;
  --st-warn: #8a641f; --st-warn-soft: #f5ede0; --st-part: #b4521f; --st-part-soft: #f9e8de;
  --st-down: #a42738; --st-down-soft: #fae7e9;
}

/* Coquille */
.st-brand { display: flex; align-items: center; gap: .7rem; padding: 0 .5rem; color: #fff; text-decoration: none; }
.st-brand img { width: 2.4rem; height: auto; }
.st-brand strong { display: block; font: 600 1.02rem var(--mb-font-display); }
.st-brand small { display: block; font-size: .55rem; letter-spacing: .1rem; text-transform: uppercase; opacity: .6; }
.mb-nav__link svg { width: 1.1rem; height: 1.1rem; flex: none; }
.st-dot { width: .55rem; height: .55rem; border-radius: 50%; flex: none; display: inline-block; margin-inline: .27rem; }
.st-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mb-sidebar__footer form { margin: 0; }
.mb-sidebar__footer .mb-icon-btn svg { width: 1.1rem; height: 1.1rem; }
.st-topbar-title { min-width: 0; }
.st-topbar-title .mb-heading { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-foot { padding-top: 0; }
.mb-topbar__actions { display: flex; gap: .5rem; flex-wrap: wrap; }

/* Connexion */
.st-login { display: grid; place-items: center; min-height: 100vh; padding: 1rem; background: var(--mb-color-background); }
.st-login__card { max-width: 30rem; text-align: center; display: grid; gap: .6rem; justify-items: center; padding: 2rem; }
.st-login__logo { width: 3.4rem; padding: .7rem; border-radius: 14px; background: linear-gradient(160deg, #781428, #3f0914); }

/* Composants */
.ad-card { background: var(--mb-color-surface); border: 1px solid var(--mb-color-border); border-radius: var(--mb-radius-lg); box-shadow: var(--mb-shadow-sm); padding: 1.15rem 1.25rem; margin-bottom: 1rem; }
.ad-card h2 { margin: 0 0 .75rem; font: 600 1.05rem var(--mb-font-display); }
.ad-card--alert { border-left: 4px solid var(--st-down); }
details.ad-card summary { cursor: pointer; list-style: none; }
details.ad-card summary h2 { display: inline; }
.ad-card__head { display: flex; justify-content: space-between; align-items: center; gap: .6rem; }
.ad-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.ad-muted { color: var(--mb-color-muted); }
.ad-row { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; margin: .5rem 0; }
.ad-svc { list-style: none; margin: .6rem 0 0; padding: 0; }
.ad-svc li { display: flex; justify-content: space-between; align-items: center; padding: .4rem 0; border-top: 1px solid var(--mb-color-border); }
.ad-actions { display: flex; gap: .6rem; flex-wrap: wrap; margin: .25rem 0 1rem; }
.ad-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; padding: 0 1rem; border-radius: var(--mb-radius-pill); border: 1px solid var(--mb-color-border); background: var(--mb-color-surface); color: var(--mb-color-text); font: 600 .9rem var(--mb-font-body); text-decoration: none; cursor: pointer; }
.ad-btn:hover { border-color: var(--mb-color-primary); color: var(--mb-color-primary); }
.ad-btn--primary { background: var(--mb-color-primary); border-color: var(--mb-color-primary); color: #fff; }
.ad-btn--primary:hover { background: var(--mb-color-primary-dark); color: #fff; }
.ad-btn--danger { color: var(--st-down); border-color: var(--st-down); }
.ad-btn--small { min-height: 2rem; padding: 0 .8rem; font-size: .84rem; }
.ad-link { background: none; border: 0; padding: 0; color: var(--mb-color-primary); text-decoration: underline; cursor: pointer; font: inherit; }
.ad-pill { display: inline-block; padding: .2rem .65rem; border-radius: var(--mb-radius-pill); font-size: .78rem; font-weight: 600; white-space: nowrap; }
.lvl-operational, .st-resolved { color: var(--st-ok); background: var(--st-ok-soft); }
.lvl-maintenance, .st-scheduled { color: var(--st-maint); background: var(--st-maint-soft); }
.lvl-degraded, .st-monitoring { color: var(--st-warn); background: var(--st-warn-soft); }
.lvl-partial { color: var(--st-part); background: var(--st-part-soft); }
.lvl-major, .st-in_progress { color: var(--st-down); background: var(--st-down-soft); }
.ad-table-wrap { overflow-x: auto; }
.ad-table { width: 100%; border-collapse: collapse; }
.ad-table th, .ad-table td { padding: .6rem .65rem; border-bottom: 1px solid var(--mb-color-border); text-align: left; vertical-align: middle; }
.ad-table th { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--mb-color-muted); }
.ad-table input:not([type="checkbox"]) { width: 100%; min-width: 120px; }
.ad-num { max-width: 80px; }
.ad-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.1rem; }
.ad-field { display: grid; gap: .3rem; align-content: start; border: 0; padding: 0; margin: 0; }
.ad-field > span, .ad-field legend { font-weight: 600; font-size: .88rem; }
.ad-field small { color: var(--mb-color-muted); font-weight: 400; }
.ad-field--full { grid-column: 1 / -1; }
.mb-container input:not([type="checkbox"]):not([type="radio"]):not([type="color"]), .mb-container select, .mb-container textarea {
  font: inherit; color: inherit; background: var(--mb-color-surface); border: 1px solid var(--mb-color-border); border-radius: var(--mb-radius-md); padding: .55rem .7rem; }
.mb-container input:focus, .mb-container select:focus, .mb-container textarea:focus { outline: 2px solid color-mix(in srgb, var(--mb-color-primary) 30%, transparent); border-color: var(--mb-color-primary); }
input[type="color"] { padding: 2px; height: 40px; width: 80px; border: 1px solid var(--mb-color-border); border-radius: var(--mb-radius-md); background: var(--mb-color-surface); }
textarea { resize: vertical; }
.ad-check { display: flex; gap: .5rem; align-items: center; }
.ad-check input { width: auto; accent-color: var(--mb-color-primary); }
.ad-pick { margin: .6rem 0; }
.ad-pick__title { margin: 0 0 .4rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--mb-color-muted); }
.ad-pick .ad-check { display: inline-flex; margin: 0 1rem .4rem 0; }
.ad-mon { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .35rem 0; border-bottom: 1px solid var(--mb-color-border); }
.ad-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--mb-color-muted); }
.ad-dot.ok { background: var(--st-ok); } .ad-dot.down { background: var(--st-down); }
.ad-flash { padding: .7rem .9rem; border-radius: var(--mb-radius-md); }
.ad-flash--success { background: var(--st-ok-soft); color: var(--st-ok); }
.ad-flash--error { background: var(--st-down-soft); color: var(--st-down); }
.ad-timeline { list-style: none; margin: 1.1rem 0 0; padding: 0 0 0 1rem; border-left: 2px solid var(--mb-color-border); }
.ad-timeline li { margin-bottom: .75rem; }
.ad-timeline small { display: block; color: var(--mb-color-muted); }
.ad-danger { margin-top: .6rem; }
@media (max-width: 820px) { .ad-form-grid { grid-template-columns: 1fr; } }
/* Liens en forme de bouton : le kit donne « color: inherit » à tous les liens de .mb-app. */
.mb-app a.mb-btn--primary, .mb-app a.ad-btn--primary { color: #fff; }
.mb-app a.mb-btn--soft { color: var(--mb-color-primary); }
.mb-app .mb-container a:not(.mb-btn):not(.ad-btn) { color: var(--mb-color-primary); }
