:root {
  --brand-primary: #2563eb;
  --brand-secondary: #7c3aed;
}

/* Hero 漸層背景 */
.hero-section {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
  padding: 4rem 0;
}

/* RWD：行動裝置縮小 Hero 字級與間距 */
@media (max-width: 576px) {
  .hero-section { padding: 2.5rem 0; }
  .hero-section .display-4 { font-size: 2rem; }
}

/* 卡片陰影微調，呼應 Hero 視覺風格 */
.card {
  border: none;
  box-shadow: 0 .125rem .5rem rgba(0, 0, 0, .06);
  border-radius: .75rem;
}

.navbar-brand i { color: #fff; }

/* 狀態色票補充（08：施工/交付＝橙）*/
.text-bg-orange { background-color: #fd7e14 !important; color: #fff !important; }

/* Pipeline 看板 */
.kanban { display: flex; gap: .75rem; overflow-x: auto; padding-bottom: .5rem; }
.kanban-col { flex: 0 0 280px; background: #f1f3f5; border-radius: .75rem; padding: .5rem; }
.kanban-col.dragover { outline: 2px dashed var(--brand-primary); outline-offset: -2px; }
.kanban-col-head { font-weight: 600; padding: .25rem .5rem .5rem; display: flex; justify-content: space-between; }
.kanban-card { background: #fff; border-radius: .5rem; padding: .6rem .7rem; margin-bottom: .5rem;
  box-shadow: 0 .0625rem .25rem rgba(0,0,0,.08); cursor: grab; }
.kanban-card:active { cursor: grabbing; }
.kanban-card.overdue { border-left: 3px solid #dc3545; }

/* 詳情 drawer */
.drawer-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 1040; }
.drawer { position: fixed; top: 0; right: 0; height: 100%; width: 480px; max-width: 92vw;
  background: #fff; z-index: 1045; box-shadow: -.5rem 0 1.5rem rgba(0,0,0,.15);
  display: flex; flex-direction: column; }
.drawer-body { overflow-y: auto; padding: 1rem; }

@media (max-width: 576px) {
  .kanban-col { flex-basis: 86vw; }
  .drawer { width: 100vw; }
}
