:root {
  --bs-primary: #385a64;
  --bs-primary-rgb: 56, 90, 100;
  --house-accent: #d88b45;
}

body { min-height: 100vh; }
.app-shell { max-width: 1440px; }
.touch-target { min-height: 48px; min-width: 48px; display: inline-flex; align-items: center; justify-content: center; }
.login-row { min-height: calc(100vh - 7rem); }
.section-kicker { color: #5d6d72; font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.attention-card { border-left-width: 5px !important; }
.metric-card { border: 0; box-shadow: 0 .125rem .4rem rgba(27, 46, 52, .08); }
.metric-card span { color: var(--bs-secondary-color); display: block; font-size: .78rem; }
.metric-card strong { display: block; font-size: clamp(1.05rem, 3vw, 1.5rem); overflow-wrap: anywhere; }
.kanban-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.kanban-column { background: #e9edef; border-radius: 1rem; padding: 1rem; min-width: 0; }
.priority-dot { border-radius: 50%; display: inline-block; flex: 0 0 10px; height: 10px; margin-top: .3rem; width: 10px; }
.priority-low { background: #6c757d; }.priority-normal { background: #0d6efd; }.priority-high { background: #dc3545; }
.calculation > div { display: flex; justify-content: space-between; padding: .55rem 0; }
.calculation .total { border-top: 2px solid var(--bs-border-color); font-size: 1.1rem; }
.pdf-frame { --bs-aspect-ratio: 120%; background: white; }
.parsed-json { max-height: 28rem; overflow: auto; white-space: pre-wrap; }
.form-check-input { min-height: 1.25rem; min-width: 1.25rem; }

@media (min-width: 768px) {
  .app-shell { padding-left: 2rem; padding-right: 2rem; }
  .pdf-frame { --bs-aspect-ratio: 80%; }
}

@media (min-width: 992px) {
  .kanban-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
}

@media (min-width: 1200px) {
  .quick-card { top: 5.5rem; }
}

@media (max-width: 767.98px) {
  .table-responsive .table { min-width: 680px; }
  h1.display-6 { font-size: 2rem; }
  .card-body { padding: 1rem; }
}
