/* ════════════════════════════════════════════════════════════════
   aurora360.css — Aurora360 Design System
   Bootstrap 5 overrides + custom component library
   All CSS variables must stay here — never use arbitrary values in templates.
   ════════════════════════════════════════════════════════════════ */

/* ── Root Design Tokens ─────────────────────────────────────────── */
:root {
  --color-primary:       #7367F0;
  --color-primary-light: #9E95F5;
  --color-primary-dark:  #5A52D5;
  --color-primary-bg:    #EEF0FF;
  --color-success:       #28C76F;
  --color-warning:       #FF9F43;
  --color-danger:        #EA5455;
  --color-info:          #00CFE8;
  --color-bg-body:       #F8F7FA;
  --color-bg-card:       #FFFFFF;
  --color-border:        #EBE9F1;
  --color-border-light:  #F3F2F7;
  --color-text-primary:  #3D3B54;
  --color-text-secondary:#6E6B7B;
  --color-text-muted:    #B9B9C3;
  --shadow-card:         0 4px 24px 0 rgba(34,41,47,0.10);
  --shadow-btn:          0 4px 12px 0 rgba(115,103,240,0.40);
  --navbar-height:       62px;
}

/* ── Body + Global ────────────────────────────────────────────────── */
body {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  background: var(--color-bg-body);
  color: var(--color-text-primary);
  padding-top: var(--navbar-height);
}
.fw-600 { font-weight: 600 !important; }
.fw-700 { font-weight: 700 !important; }
.text-sm { font-size: 13px !important; }
.cursor-pointer { cursor: pointer; }
.min-w-0 { min-width: 0; }
.required-star { color: var(--color-danger); }
a { color: var(--color-primary); }
.font-monospace { font-family: 'Courier New', monospace !important; font-size: 12px !important; }

/* ── Bootstrap Core Overrides ────────────────────────────────────── */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background: linear-gradient(118deg, #7367F0, rgba(115,103,240,.70)) !important;
  border-color: transparent !important;
  box-shadow: var(--shadow-btn);
}
.btn-primary:hover { box-shadow: 0 6px 16px rgba(115,103,240,.55); transform: translateY(-1px); }
.btn-outline-primary { color: var(--color-primary) !important; border-color: var(--color-primary) !important; }
.btn-outline-primary:hover { background: var(--color-primary-bg) !important; }
.btn-success  { background: linear-gradient(118deg,#28C76F,rgba(40,199,111,.70)) !important; border-color: transparent !important; }
.btn-danger   { background: linear-gradient(118deg,#EA5455,rgba(234,84,85,.70)) !important; border-color: transparent !important; }
.btn-warning  { background: linear-gradient(118deg,#FF9F43,rgba(255,159,67,.70)) !important; border-color: transparent !important; color: #fff !important; }
.btn-info     { background: linear-gradient(118deg,#00CFE8,rgba(0,207,232,.70)) !important; border-color: transparent !important; color: #fff !important; }
.btn-secondary {
  background: #fff !important;
  border-color: var(--color-border) !important;
  color: var(--color-text-secondary) !important;
  box-shadow: 0 2px 8px rgba(34,41,47,0.06);
}
.btn-secondary:hover { background: var(--color-bg-body) !important; border-color: var(--color-primary) !important; color: var(--color-primary) !important; }
.btn { border-radius: 6px !important; font-weight: 500; font-size: 13px; transition: all .15s; }

/* Cards */
.card, .aurora-card {
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-card) !important;
  background: var(--color-bg-card);
}
.card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--color-border) !important;
  font-weight: 600;
  font-size: 14px;
  color: var(--color-text-primary);
  padding: 16px 20px;
}
.card-body { padding: 20px; }

/* Forms */
.form-control:focus, .form-select:focus {
  border-color: var(--color-primary) !important;
  box-shadow: 0 0 0 3px rgba(115,103,240,0.12) !important;
}
.form-label { font-size: 13px; font-weight: 500; color: var(--color-text-secondary); margin-bottom: 5px; }
.form-control, .form-select {
  font-size: 13px;
  border-color: var(--color-border);
  color: var(--color-text-primary);
  border-radius: 6px !important;
}
.form-control::placeholder { color: var(--color-text-muted); }
.form-check-input:checked { background-color: var(--color-primary); border-color: var(--color-primary); }
.invalid-feedback { font-size: 12px; }

/* Tables */
.table { --bs-table-hover-bg: var(--color-bg-body); }
.table thead th {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--color-text-muted);
  border-bottom: 1px solid var(--color-border);
  border-top: none;
  padding: 12px 16px;
}
.table tbody td {
  vertical-align: middle;
  color: var(--color-text-primary);
  border-color: var(--color-border-light);
  padding: 12px 16px;
  font-size: 13px;
}

/* Modals */
.modal-content { border: 0; border-radius: 12px; box-shadow: 0 8px 40px rgba(34,41,47,0.20); }
.modal-header { border-bottom: 1px solid var(--color-border); padding: 16px 20px; }
.modal-footer { border-top: 1px solid var(--color-border); }

/* Badges (Bootstrap) */
.badge.bg-primary { background: var(--color-primary-bg) !important; color: var(--color-primary) !important; }
.badge.bg-success { background: #E6F9EF !important; color: var(--color-success) !important; }
.badge.bg-warning { background: #FFF3E4 !important; color: var(--color-warning) !important; }
.badge.bg-danger  { background: #FDECEA !important; color: var(--color-danger)  !important; }
.badge.bg-info    { background: #E0F9FC !important; color: var(--color-info)    !important; }

/* Pagination */
.page-link { color: var(--color-primary); border-color: var(--color-border); }
.page-item.active .page-link {
  background: var(--color-primary);
  border-color: var(--color-primary);
  box-shadow: var(--shadow-btn);
}
.spinner-border { color: var(--color-primary) !important; }

/* ── Navbar ───────────────────────────────────────────────────────── */
.aurora-navbar {
  height: var(--navbar-height);
  background: #FFFFFF !important;
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 4px 24px rgba(34,41,47,0.08);
}
.aurora-navbar .nav-link {
  color: var(--color-text-secondary) !important;
  font-size: 13px;
  font-weight: 500;
  padding: 8px 12px !important;
  border-radius: 6px;
  transition: all .15s;
}
.aurora-navbar .nav-link:hover { color: var(--color-primary) !important; background: var(--color-bg-body); }
.aurora-navbar .nav-link.active {
  color: #fff !important;
  background: linear-gradient(118deg, #7367F0, rgba(115,103,240,.70));
  box-shadow: 0 0 10px 1px rgba(115,103,240,.35);
}
.aurora-navbar .dropdown-menu {
  border-radius: 12px;
  border: 1px solid var(--color-border);
  box-shadow: 0 5px 25px rgba(34,41,47,0.10);
  padding: 8px;
  font-size: 13px;
}
.aurora-navbar .dropdown-item { border-radius: 6px; padding: 8px 12px; color: var(--color-text-secondary); }
.aurora-navbar .dropdown-item:hover { background: var(--color-bg-body); color: var(--color-primary); }
.aurora-notif-dot {
  position: absolute; top: 4px; right: 4px;
  width: 8px; height: 8px;
  background: var(--color-danger);
  border-radius: 50%;
}
.aurora-navbar-icon-btn {
  background: none; border: none;
  color: var(--color-text-secondary);
  font-size: 18px; padding: 8px;
  border-radius: 8px; transition: all .15s;
  position: relative;
}
.aurora-navbar-icon-btn:hover { background: var(--color-bg-body); color: var(--color-primary); }
.aurora-user-avatar { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; cursor: pointer; }

/* ── Page Layout ──────────────────────────────────────────────────── */
.aurora-page-wrapper { padding: 24px; min-height: calc(100vh - var(--navbar-height)); background: var(--color-bg-body); }
.aurora-page-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }
.aurora-page-title { font-size: 20px; font-weight: 700; color: var(--color-text-primary); margin: 0 0 4px; }
.aurora-breadcrumb { font-size: 12px; color: var(--color-text-muted); }
.aurora-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: var(--color-text-muted); }
.aurora-breadcrumb a { color: var(--color-text-secondary); text-decoration: none; }
.aurora-breadcrumb a:hover { color: var(--color-primary); }

/* ── Aurora Badges ─────────────────────────────────────────────────── */
.aurora-badge {
  display: inline-flex; align-items: center;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1.5;
}
.aurora-badge-primary   { background: var(--color-primary-bg); color: var(--color-primary); }
.aurora-badge-success   { background: #E6F9EF; color: var(--color-success); }
.aurora-badge-warning   { background: #FFF3E4; color: var(--color-warning); }
.aurora-badge-danger    { background: #FDECEA; color: var(--color-danger); }
.aurora-badge-info      { background: #E0F9FC; color: var(--color-info); }
.aurora-badge-secondary { background: var(--color-border-light); color: var(--color-text-secondary); }

/* ── Order Status Badges ────────────────────────────────────────────── */
.aurora-status-draft        { background: #F0F0F0; color: #6E6B7B; }
.aurora-status-new          { background: #EEF0FF; color: #7367F0; }
.aurora-status-intake       { background: #F3E8FF; color: #9333EA; }
.aurora-status-awaiting-sig { background: #FFF3E4; color: #FF9F43; }
.aurora-status-approved     { background: #E0F9FC; color: #00B8D4; }
.aurora-status-processing   { background: #EEF0FF; color: #5B6EF5; }
.aurora-status-shipped      { background: #E8EAF6; color: #3949AB; }
.aurora-status-out-delivery { background: #FFF3E4; color: #E65100; }
.aurora-status-delivered    { background: #E6F9EF; color: #28C76F; }
.aurora-status-cancelled    { background: #FDECEA; color: #EA5455; }
.aurora-status-voided       { background: #F0F0F0; color: #9E9E9E; }

/* ── AI Verification Badges ─────────────────────────────────────────── */
.aurora-ai-badge-passed    { background: #E6F9EF; color: #28C76F; }
.aurora-ai-badge-review    { background: #FFF3E4; color: #FF9F43; }
.aurora-ai-badge-high_risk { background: #FDECEA; color: #EA5455; }

/* ── Eligibility Badges ─────────────────────────────────────────────── */
.aurora-elig-active      { background: #E6F9EF; color: #28C76F; }
.aurora-elig-inactive    { background: #FDECEA; color: #EA5455; }
.aurora-elig-warning     { background: #FFF3E4; color: #FF9F43; }
.aurora-elig-unverified  { background: var(--color-border-light); color: var(--color-text-secondary); }

/* ── Aurora Alerts ───────────────────────────────────────────────────── */
.aurora-alert {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 13px;
  border-left: 4px solid;
}
.aurora-alert-success { background: #E6F9EF; color: #1B6B3A; border-left-color: var(--color-success); }
.aurora-alert-warning { background: #FFF3E4; color: #7A4700; border-left-color: var(--color-warning); }
.aurora-alert-danger  { background: #FDECEA; color: #7A1919; border-left-color: var(--color-danger); }
.aurora-alert-info    { background: #E0F9FC; color: #006E7E; border-left-color: var(--color-info); }

/* ── KPI Cards ────────────────────────────────────────────────────── */
.aurora-kpi-card {
  background: var(--color-bg-card);
  border-radius: 12px;
  box-shadow: var(--shadow-card);
  padding: 20px;
  position: relative;
  overflow: hidden;
  transition: transform .15s, box-shadow .15s;
}
a.aurora-kpi-card:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(34,41,47,0.15); text-decoration: none; }
.kpi-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; color: var(--color-text-muted); margin-bottom: 8px; }
.kpi-value { font-size: 28px; font-weight: 700; color: var(--color-text-primary); line-height: 1.1; margin-bottom: 4px; }
.kpi-sub   { font-size: 12px; color: var(--color-text-muted); }
.kpi-icon  { position: absolute; bottom: 12px; right: 16px; font-size: 36px; opacity: .08; color: var(--color-text-primary); }
.aurora-kpi-card.kpi-primary .kpi-value { color: var(--color-primary); }
.aurora-kpi-card.kpi-primary .kpi-icon  { color: var(--color-primary); opacity: .12; }
.aurora-kpi-card.kpi-success .kpi-value { color: var(--color-success); }
.aurora-kpi-card.kpi-success .kpi-icon  { color: var(--color-success); opacity: .12; }
.aurora-kpi-card.kpi-warning .kpi-value { color: var(--color-warning); }
.aurora-kpi-card.kpi-warning .kpi-icon  { color: var(--color-warning); opacity: .12; }
.aurora-kpi-card.kpi-danger  .kpi-value { color: var(--color-danger); }
.aurora-kpi-card.kpi-danger  .kpi-icon  { color: var(--color-danger); opacity: .12; }

/* ── Table Card ─────────────────────────────────────────────────────── */
.aurora-table-card { background: var(--color-bg-card); border-radius: 12px; box-shadow: var(--shadow-card); overflow: hidden; }
.aurora-table-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--color-border); }
.aurora-row-stale { border-left: 4px solid var(--color-warning) !important; background: rgba(255,159,67,.04) !important; }

/* ── Tabs ──────────────────────────────────────────────────────────── */
.aurora-tabs { border-bottom: 2px solid var(--color-border); }
.aurora-tabs .nav-item { margin-bottom: -2px; }
.aurora-tabs .nav-link {
  color: var(--color-text-secondary);
  font-size: 13px;
  font-weight: 600;
  padding: 10px 16px;
  border: none;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  transition: all .15s;
}
.aurora-tabs .nav-link:hover  { color: var(--color-primary); background: transparent; }
.aurora-tabs .nav-link.active { color: var(--color-primary); border-bottom-color: var(--color-primary); }

/* ── Wizard Steps ──────────────────────────────────────────────────── */
.aurora-wizard-steps {
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  padding-bottom: 8px;
}
.aurora-wizard-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
  min-width: 80px;
}
.aurora-wizard-step + .aurora-wizard-step::before {
  content: '';
  position: absolute;
  top: 14px;
  left: -50%;
  right: 50%;
  height: 2px;
  background: var(--color-border);
  z-index: 0;
}
.aurora-wizard-step.completed + .aurora-wizard-step::before { background: var(--color-primary); }
.aurora-wizard-step-circle {
  width: 28px; height: 28px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--color-border-light);
  color: var(--color-text-muted);
  font-size: 12px;
  font-weight: 700;
  position: relative;
  z-index: 1;
  transition: all .2s;
  border: 2px solid var(--color-border);
}
.aurora-wizard-step.active    .aurora-wizard-step-circle { background: var(--color-primary); color: #fff; border-color: var(--color-primary); box-shadow: 0 0 0 4px var(--color-primary-bg); }
.aurora-wizard-step.completed .aurora-wizard-step-circle { background: var(--color-success); color: #fff; border-color: var(--color-success); }
.aurora-wizard-step-label { font-size: 11px; font-weight: 600; color: var(--color-text-muted); margin-top: 6px; text-align: center; white-space: nowrap; }
.aurora-wizard-step.active    .aurora-wizard-step-label { color: var(--color-primary); }
.aurora-wizard-step.completed .aurora-wizard-step-label { color: var(--color-success); }

/* ── Form Sections ─────────────────────────────────────────────────── */
.aurora-form-section { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--color-border-light); }
.aurora-form-section-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .6px;
  color: var(--color-text-muted);
  margin-bottom: 16px;
}

/* ── File Items ─────────────────────────────────────────────────────── */
.aurora-file-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--color-bg-body);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  margin-bottom: 8px;
  transition: border-color .15s;
}
.aurora-file-item:hover { border-color: var(--color-primary); }
.file-icon  { font-size: 20px; color: var(--color-danger); flex-shrink: 0; }
.file-name  { font-size: 13px; font-weight: 600; flex-grow: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.file-size  { font-size: 11px; color: var(--color-text-muted); white-space: nowrap; }
.file-delete { color: var(--color-danger); background: none; border: none; padding: 4px; cursor: pointer; flex-shrink: 0; }

/* ── Order Type Cards ─────────────────────────────────────────────── */
.aurora-order-type-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 28px 20px;
  background: var(--color-bg-card);
  border-radius: 12px;
  box-shadow: var(--shadow-card);
  border: 2px solid transparent;
  text-align: center;
  text-decoration: none;
  color: var(--color-text-primary);
  transition: all .2s;
  height: 100%;
}
.aurora-order-type-card:hover { border-color: var(--color-primary); transform: translateY(-3px); box-shadow: 0 8px 32px rgba(115,103,240,.2); color: var(--color-primary); text-decoration: none; }
.aurora-order-type-icon {
  width: 56px; height: 56px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.bg-primary-soft { background: var(--color-primary-bg); }
.bg-success-soft { background: #E6F9EF; }
.bg-warning-soft { background: #FFF3E4; }
.bg-info-soft    { background: #E0F9FC; }

/* ── Clinical Warnings ────────────────────────────────────────────── */
.aurora-coverage-warning {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  background: #FFF3E4;
  border: 1px solid rgba(255,159,67,.3);
  border-left: 4px solid var(--color-warning);
  border-radius: 8px;
  font-size: 13px;
  color: #7A4700;
  margin-top: 12px;
}
.aurora-nursing-home-warning {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  background: #FDECEA;
  border: 1px solid rgba(234,84,85,.3);
  border-left: 4px solid var(--color-danger);
  border-radius: 8px;
  font-size: 13px;
  color: #7A1919;
  margin-top: 12px;
}

/* ── Signature Pad ───────────────────────────────────────────────── */
.aurora-signature-pad {
  width: 100%;
  height: 180px;
  border: 2px dashed var(--color-border);
  border-radius: 8px;
  background: #FAFAFA;
  cursor: crosshair;
  display: block;
  touch-action: none;
}
.aurora-signature-pad:hover { border-color: var(--color-primary); }

/* ── Dropzone ───────────────────────────────────────────────────── */
.aurora-dropzone {
  border: 2px dashed var(--color-border);
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  cursor: pointer;
  transition: all .2s;
}
.aurora-dropzone:hover, .aurora-dropzone.dragover {
  border-color: var(--color-primary);
  background: var(--color-primary-bg);
}

/* ── Text Color Utilities ─────────────────────────────────────────── */
.aurora-text-primary   { color: var(--color-primary)   !important; }
.aurora-text-success   { color: var(--color-success)   !important; }
.aurora-text-warning   { color: var(--color-warning)   !important; }
.aurora-text-danger    { color: var(--color-danger)    !important; }
.aurora-text-secondary { color: var(--color-text-secondary) !important; }

/* ── MFA Warning Banner ──────────────────────────────────────────── */
.aurora-mfa-warning {
  background: rgba(255,159,67,.15);
  border-bottom: 2px solid var(--color-warning);
  padding: 8px 24px;
  font-size: 12px;
  color: #7A4700;
  font-weight: 600;
  text-align: center;
}

/* ── Dropdown (Aurora) ───────────────────────────────────────────── */
.aurora-dropdown {
  border-radius: 12px !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: 0 5px 25px rgba(34,41,47,0.10) !important;
  padding: 8px !important;
}
.aurora-dropdown .dropdown-item {
  border-radius: 6px;
  font-size: 13px;
  color: var(--color-text-secondary);
  padding: 8px 12px;
}
.aurora-dropdown .dropdown-item:hover { background: var(--color-bg-body); color: var(--color-primary); }

/* ── List Group Override ─────────────────────────────────────────── */
.list-group-item { font-size: 13px; border-color: var(--color-border-light); }
.list-group-item-action:hover { background: var(--color-bg-body); color: var(--color-primary); }

/* ── Toast Positioning ───────────────────────────────────────────── */
.toast-container { z-index: 9999; }
.toast { font-size: 13px; font-family: 'Montserrat', sans-serif; }


/* ── Dropdown hover fix — override Bootstrap default blue ─────────────────── */
.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item.active {
  background: var(--color-primary-bg) !important;
  color: var(--color-primary) !important;
}
