/* SM Motors · administration (s'appuie sur styles.css) */

.adm [hidden], .adm__dialog [hidden], .masthead__nav[hidden] { display: none !important; }

.masthead__out {
  min-height: 2.25rem;
  padding: 0.375rem 0.75rem;
  font: 600 0.9375rem/1.2 var(--sans);
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--rule-strong);
  cursor: pointer;
}
.masthead__out:hover { background: var(--paper-deep); border-color: var(--ink); }
.masthead__nav a[aria-current="true"] { border-color: var(--rule-strong); }

.input textarea {
  width: 100%;
  min-height: 5rem;
  padding: 0.5rem 0.625rem;
  font: 500 1rem/1.4 var(--sans);
  color: var(--ink);
  background: var(--paper);
  border: 0;
  border-bottom: 2px solid var(--rule-strong);
  border-radius: 0;
  resize: vertical;
  transition: border-color 160ms var(--ease-out), background-color 160ms var(--ease-out);
}
.input textarea:hover { border-bottom-color: var(--ink); }
.input textarea:focus-visible { outline: none; border-bottom-color: var(--blue); background-color: var(--paper-deep); }
.input input[type="search"] { appearance: none; }
.input input[readonly] { color: var(--ink-soft); }

/* ───── Application ───── */

.adm__app {
  display: grid;
  gap: clamp(1.5rem, 3vw, 2.25rem);
  padding: clamp(1.5rem, 4vw, 3rem) var(--inset) clamp(3rem, 6vw, 5rem);
}

.adm__flash {
  position: sticky;
  top: 4.5rem;
  z-index: 15;
  margin: 0;
  padding: 0.75rem 1rem;
  font-weight: 700;
  color: var(--on-gold);
  background: var(--blue);
}
.adm__flash.is-error { color: #fff; background: #b02a38; }

.adm__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  border: 1px solid var(--rule-strong);
  background: var(--coupon);
}
.stat {
  display: grid;
  gap: 0.375rem;
  align-content: start;
  padding: 1rem 1.125rem;
  font: inherit;
  text-align: left;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--rule);
  cursor: pointer;
  transition: background-color 160ms var(--ease-out);
}
.stat:last-child { border-right: 0; }
.stat:hover { background: var(--coupon-deep); }
.stat:focus-visible { outline: 2px solid var(--blue); outline-offset: -3px; }
.stat__n { font-size: clamp(2rem, 4vw, 2.75rem); font-weight: 850; font-stretch: 125%; line-height: 1; letter-spacing: -0.03em; }
.stat[data-stat="pending"] .stat__n { color: var(--blue); }
.stat__l { font-size: 0.8125rem; font-weight: 600; color: var(--ink-soft); }

.adm__panel { display: grid; gap: 1rem; align-content: start; }
.adm__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 1.5rem; padding-bottom: 0.75rem; border-bottom: 2px solid var(--ink); }
.adm__head h2 { display: flex; gap: 0.75rem; align-items: baseline; font-size: clamp(1.5rem, 3vw, 2rem); font-stretch: 112%; letter-spacing: -0.02em; }
.adm__head small { font: 600 0.8125rem/1 var(--mono); color: var(--code); letter-spacing: 0.04em; }
.adm__export { font-size: 0.9375rem; font-weight: 650; color: var(--blue); }

.adm__chips { margin: 0; }
.adm__tools { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; }
.adm__search { flex: 1 1 18rem; }
.adm__sort { flex: 0 1 13rem; }
.adm__resets { min-height: 2.75rem; align-items: center; }
.adm__resets input { margin-top: 0; }

/* lignes de liste */
.adm__rows { display: grid; border-top: 1px solid var(--rule-strong); }
.adm__row {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, 1fr) auto;
  gap: 0.5rem 1.25rem;
  align-items: center;
  padding: 0.875rem 0.5rem;
  border-bottom: 1px dashed var(--rule-strong);
}
.adm__row--client { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) minmax(0, 1fr) 8.5rem auto; }
.adm__row.is-pending { padding-left: 0.875rem; box-shadow: inset 3px 0 0 var(--blue); background: color-mix(in srgb, var(--coupon) 80%, transparent); }
.adm__cell { display: grid; gap: 0.125rem; min-width: 0; font-size: 0.9375rem; overflow-wrap: anywhere; }
.adm__cell strong { font-size: 1.0625rem; font-weight: 750; }
.adm__cell small { font-size: 0.8125rem; color: var(--ink-soft); }
.adm__cell a { color: var(--ink); text-decoration-color: var(--rule-strong); text-underline-offset: 0.2em; }
.adm__cell a:hover { color: var(--blue); }
.adm__cell--ref { justify-items: start; gap: 0.375rem; }
.adm__cell--act { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: flex-end; }
.adm__tag { font: 700 0.6875rem/1 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--code); }
.btn--small { min-height: 2.5rem; padding: 0.5rem 0.875rem; font-size: 0.875rem; }
.adm__empty { padding: 2rem 0; color: var(--ink-soft); }
.adm__more { justify-self: center; }

/* fiches */
.adm__dialog {
  width: min(46rem, calc(100vw - 1.5rem));
  max-height: calc(100dvh - 1.5rem);
  padding: 0;
  color: var(--ink);
  background: var(--coupon);
  border: 1px solid var(--ink);
  overscroll-behavior: contain;
}
.adm__dialog::backdrop { background: rgb(0 0 0 / 0.72); }
body:has(.adm__dialog[open]) { overflow: hidden; }
.adm__sheet { display: grid; gap: 1.25rem; padding: clamp(1rem, 3vw, 1.75rem); }
.adm__sheet-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.25rem 1rem; align-items: start; }
.adm__sheet-head > .code, .adm__sheet-head > h2 { grid-column: 1; }
.adm__sheet-head h2 { font-size: clamp(1.5rem, 3.5vw, 2rem); line-height: 1.1; font-stretch: 112%; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.adm__close {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 2.5rem;
  padding: 0.375rem 0.875rem;
  font: 650 0.875rem/1 var(--sans);
  color: var(--ink);
  background: transparent;
  border: 1px solid var(--rule-strong);
  cursor: pointer;
}
.adm__close:hover { background: var(--paper-deep); border-color: var(--ink); }
.adm__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.875rem 1.5rem; }
.adm__facts > div { display: grid; gap: 0.125rem; min-width: 0; }
.adm__facts dt { font-size: 0.75rem; font-weight: 600; color: var(--ink-soft); }
.adm__facts dd { font-weight: 650; overflow-wrap: anywhere; white-space: pre-line; }
.adm__facts a { color: var(--blue); }
.adm__form { display: grid; gap: 0.875rem; padding-top: 1.25rem; border-top: 1px solid var(--rule-strong); }
.adm__when { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.adm__when .account__hint { grid-column: 1 / -1; margin-top: 0; }
.adm__actions { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; }
.adm__box { display: grid; gap: 0.75rem; padding: 1rem; border: 1px solid var(--rule-strong); }
.adm__box--danger { border-style: dashed; }
.adm__sub { font-size: 0.8125rem; font-weight: 750; letter-spacing: 0.03em; text-transform: uppercase; color: var(--code); }
.adm__flat { margin-top: 0; }
.adm__warn { padding-left: 0.75rem; font-weight: 650; border-left: 3px solid var(--blue); }
.adm__link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.75rem; align-items: end; }
.adm__mini { display: grid; }
.adm__mini li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 0.25rem 0.875rem; align-items: center; padding: 0.625rem 0; border-bottom: 1px dashed var(--rule-strong); font-size: 0.9375rem; }
.adm__mini li:last-child { border-bottom: 0; }

@media (max-width: 1100px) {
  .adm__row, .adm__row--client { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .adm__cell--act { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 600px) {
  .adm__row, .adm__row--client { grid-template-columns: minmax(0, 1fr); }
  .adm__facts, .adm__when { grid-template-columns: 1fr; }
  .adm__link { grid-template-columns: 1fr; }
  .adm__sheet-head { grid-template-columns: 1fr; }
  .adm__close { grid-column: 1; grid-row: auto; justify-self: start; order: -1; }
  .adm__flash { top: 6.5rem; }
}
