/* ================================================================
   Suivi IR — styles
   ================================================================ */

:root {
  --color-primary: #1a3a5c;
  --color-accent:  #2e6da4;
  --color-light:   #f4f7fb;
  --color-border:  #dee2e6;
}

body {
  font-size: 0.875rem;
  background-color: var(--color-light);
  color: #212529;
}

/* Navbar */
.navbar {
  background-color: var(--color-primary) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.25);
}
.navbar-brand {
  font-weight: 700;
  font-size: 1.1rem;
  letter-spacing: .04em;
  color: #fff !important;
}
.navbar .breadcrumb { margin: 0; background: transparent; font-size: .8rem; }
.navbar .breadcrumb-item a { color: #9ec5e8; text-decoration: none; }
.navbar .breadcrumb-item.active { color: #fff; }
.navbar .breadcrumb-item + .breadcrumb-item::before { color: #6d96b8; }

/* Page header */
.page-header {
  background: #fff;
  border-bottom: 1px solid var(--color-border);
  padding: .75rem 1.25rem;
  margin-bottom: 1.25rem;
}
.page-header h1 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-primary);
  margin: 0;
}
.page-header .subtitle { font-size: .8rem; color: #6c757d; }

/* Section titles */
.section-title {
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--color-accent);
  border-bottom: 2px solid var(--color-accent);
  padding-bottom: .25rem;
  margin-bottom: .75rem;
  margin-top: 1.25rem;
}

/* Forms */
.form-label { font-weight: 600; font-size: .8rem; color: #495057; }

/* Buttons */
.btn-primary { background-color: var(--color-accent); border-color: var(--color-accent); }
.btn-primary:hover { background-color: #1f5285; border-color: #1f5285; }

/* Table */
.table-ir { font-size: .82rem; }
.table-ir thead th {
  background-color: var(--color-primary);
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
  border-color: #2a4d70;
}
.clickable-row { cursor: pointer; }
.clickable-row:hover { background-color: #e8f0f9 !important; }

/* Info grid (detail page) */
.info-grid .info-label { font-size: .75rem; color: #6c757d; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.info-grid .info-value { font-size: .88rem; }

/* Declaration cards */
.decl-card {
  background: var(--color-light);
  border: 1px solid var(--color-border);
  border-radius: .375rem;
  padding: .6rem .8rem;
}
.decl-notes { font-size: .82rem; color: #495057; white-space: pre-wrap; }

/* Mail log */
.mail-log {
  font-size: .82rem;
  padding: .4rem 0;
  border-bottom: 1px solid #eee;
}

/* Mail preview */
.mail-preview {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: .375rem;
  padding: 1rem;
  font-size: .85rem;
  white-space: pre-wrap;
  line-height: 1.6;
}

/* Misc */
.text-muted-sm { font-size: .75rem; color: #6c757d; }
