:root {
  --primary-color:#0d6efd;
  --secondary-color:#6c757d;
  --accent-color:#20c997;
  --button-color:#0d6efd;
  --header-color:#0b5ed7;
  --background-color:#f8f9fa;
}

body {
  background:
    radial-gradient(circle at top left, rgba(13,110,253,0.08), transparent 32rem),
    linear-gradient(180deg, #f8fafc 0%, var(--bg, var(--background-color)) 100%);
  color: #1f2937;
  min-height: 100vh;
}

.navbar {
  box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.14);
}

.navbar-brand {
  white-space: normal;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.navbar .container {
  align-items: flex-start;
}

.navbar .btn {
  white-space: nowrap;
  border-radius: 999px;
  font-weight: 600;
}

.container.py-4 {
  max-width: 1180px;
}

h1, h2, h3, h4, h5 {
  letter-spacing: -0.025em;
}

.card {
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.75rem 1.75rem rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.card-header {
  background: rgba(255,255,255,0.88);
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
  font-weight: 700;
}

.card-body {
  background: #ffffff;
}

.table-responsive {
  border-radius: 0.75rem;
}

.table thead th {
  background: #f8fafc;
  color: #475569;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid #e2e8f0;
}

.table td,
.table th {
  vertical-align: middle;
}

.btn {
  border-radius: 0.75rem;
  font-weight: 600;
}

.btn-primary {
  background: var(--btn, var(--button-color));
  border-color: var(--btn, var(--button-color));
}

.badge {
  border-radius: 999px;
}

.form-control,
.form-select {
  border-radius: 0.75rem;
}

.alert {
  border: 0;
  border-radius: 1rem;
}

@media (max-width: 767.98px) {
  .navbar .container {
    display: block !important;
  }

  .navbar-brand {
    display: block;
    margin-bottom: 0.75rem;
  }

  .navbar .container > .d-flex {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem !important;
    width: 100%;
  }

  .navbar .btn,
  .navbar form,
  .navbar form button {
    width: 100%;
  }

  .navbar .btn,
  .navbar form button {
    text-align: center;
  }

  main.container,
  .container.py-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .table {
    font-size: 0.92rem;
  }

  .card {
    border-radius: 0.85rem;
  }

  .card-body {
    padding: 1rem;
  }
}

@media (max-width: 420px) {
  .navbar .container > .d-flex {
    grid-template-columns: 1fr;
  }
}

/* Phase 7 dashboard metrics */
.dashboard-hero {
  background: rgba(255, 255, 255, 0.92);
}

.metric-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.metric-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 1rem 2rem rgba(15, 23, 42, 0.12);
}

.metric-label {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.metric-value {
  color: #0f172a;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.1;
  margin-top: 0.35rem;
}

.metric-helper {
  color: #64748b;
  font-size: 0.92rem;
  margin-top: 0.35rem;
}

.metric-icon {
  align-items: center;
  background: #f1f5f9;
  border-radius: 1rem;
  display: flex;
  flex: 0 0 3rem;
  font-size: 1.5rem;
  height: 3rem;
  justify-content: center;
  width: 3rem;
}

.summary-box {
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0.85rem;
  padding: 1rem;
}

@media (max-width: 767.98px) {
  .metric-value {
    font-size: 1.65rem;
  }

  .metric-icon {
    flex-basis: 2.75rem;
    height: 2.75rem;
    width: 2.75rem;
  }
}

/* Phase 8 CRUD page polish */
.page-heading h2 {
  font-weight: 800;
}

.crud-table td {
  vertical-align: middle;
}

.empty-state {
  align-items: center;
  border: 1px dashed rgba(148, 163, 184, 0.55);
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  padding: 2rem;
  text-align: center;
}

.empty-state-icon {
  background: #f1f5f9;
  border-radius: 1rem;
  font-size: 2rem;
  margin-bottom: 0.75rem;
  padding: 0.75rem 1rem;
}

.form-label {
  color: #334155;
}

.form-text {
  color: #64748b;
}

.detail-tile {
  background: #f8fafc;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 0.85rem;
  padding: 1rem;
}

.detail-label {
  color: #64748b;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

.detail-value {
  color: #0f172a;
  overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
  .page-heading .btn {
    width: 100%;
  }

  .crud-table .btn {
    margin-bottom: 0.25rem;
  }
}

/* Phase 9 list search, filters, and pagination */
.list-controls-card {
  border: 1px solid rgba(148, 163, 184, 0.22);
}

.list-controls-card .form-label {
  margin-bottom: 0.35rem;
}

.pagination .page-link {
  color: var(--button-color, #0d6efd);
}

.pagination .active .page-link {
  background: var(--button-color, #0d6efd);
  border-color: var(--button-color, #0d6efd);
}

@media (max-width: 767.98px) {
  .list-controls-card .btn {
    width: 100%;
  }

  .card-footer nav,
  .card-footer .pagination {
    width: 100%;
  }

  .card-footer .pagination {
    justify-content: center;
  }
}

/* Phase 10 quote and invoice line items */
.line-items-table td {
  vertical-align: middle;
}

.line-items-table form {
  margin: 0;
}

.summary-box hr {
  border-color: rgba(148, 163, 184, 0.35);
  margin: 0.75rem 0;
}

@media (max-width: 767.98px) {
  .line-items-table .btn {
    width: 100%;
  }
}

/* Phase 11 branding, login page, and PDF polish */
.app-brand-enhanced {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 220px;
}

.app-brand-mark,
.brand-mark,
.login-form-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0f172a, #2563eb);
  color: #ffffff;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.25);
}

.app-brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  font-size: 0.9rem;
}

.app-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}

.app-brand-name {
  font-weight: 800;
  letter-spacing: -0.02em;
}

.app-brand-subname {
  font-size: 0.78rem;
  opacity: 0.82;
}

.app-footer {
  border-top: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(255, 255, 255, 0.82);
  padding: 1rem 0;
  margin-top: 2rem;
}

.login-shell {
  min-height: calc(100vh - 180px);
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 440px);
  gap: 2rem;
  align-items: stretch;
}

.login-hero-card,
.login-form-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.10);
}

.login-hero-card {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.20), transparent 32%),
    linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
  padding: clamp(1.5rem, 4vw, 3rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.login-form-card {
  background: rgba(255, 255, 255, 0.96);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  align-self: center;
}

.brand-lockup {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.brand-mark {
  width: 60px;
  height: 60px;
  border-radius: 18px;
  background: linear-gradient(135deg, #2563eb, #20c997);
}

.login-form-mark {
  width: 54px;
  height: 54px;
  border-radius: 16px;
}

.brand-title {
  font-weight: 800;
  font-size: 1.2rem;
}

.brand-subtitle {
  opacity: 0.78;
  font-size: 0.92rem;
}

.login-headline {
  max-width: 780px;
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 850;
  line-height: 1.02;
  letter-spacing: -0.05em;
}

.login-copy {
  max-width: 640px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.1rem;
  margin-top: 1rem;
}

.login-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 2rem;
}

.login-feature {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 1rem;
}

.login-feature strong,
.login-feature span {
  display: block;
}

.login-feature span {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.9rem;
  margin-top: 0.35rem;
}

.login-contact-strip {
  margin-top: 2rem;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
  color: rgba(255, 255, 255, 0.78);
}

.login-small-note {
  color: #64748b;
  font-size: 0.9rem;
  text-align: center;
}

@media (max-width: 991.98px) {
  .login-shell {
    grid-template-columns: 1fr;
  }

  .login-feature-grid {
    grid-template-columns: 1fr;
  }

  .app-brand-enhanced {
    width: 100%;
  }

  .app-nav-actions {
    width: 100%;
  }
}

/* Phase 12 company settings and branding controls */
.settings-preview-card,
.settings-card {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.settings-preview-card {
  background: #ffffff;
}

.settings-preview-header {
  color: #ffffff;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.settings-preview-header span {
  display: block;
  opacity: 0.78;
  font-size: 0.9rem;
}

.settings-preview-mark {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: 800;
  letter-spacing: 0.04em;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.25);
}

.settings-preview-body {
  padding: 1rem 1.25rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: center;
}

.settings-preview-body > div {
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 16px;
  padding: 0.9rem;
  min-height: 78px;
}

.settings-color-chip {
  width: 44px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  margin-top: 0.4rem;
}

.settings-color-input {
  min-width: 100%;
  height: 42px;
  padding: 0.25rem;
}

.settings-form textarea {
  resize: vertical;
}

.settings-sticky-actions {
  position: sticky;
  bottom: 0;
  z-index: 5;
  background: rgba(248, 249, 250, 0.94);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  padding: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  box-shadow: 0 -10px 30px rgba(15, 23, 42, 0.08);
}

.settings-detail-list {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 0.65rem 1rem;
  margin: 0;
}

.settings-detail-list dt {
  color: #64748b;
  font-size: 0.88rem;
}

.settings-detail-list dd {
  margin: 0;
  word-break: break-word;
}

.settings-count-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.settings-count-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 18px;
  padding: 1rem;
  background: #ffffff;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.settings-count-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.settings-count-card span {
  display: block;
  color: #64748b;
  font-size: 0.88rem;
}

.settings-count-card strong {
  display: block;
  font-size: 1.7rem;
  line-height: 1;
  margin-top: 0.45rem;
}

.text-preline {
  white-space: pre-line;
}

@media (max-width: 767.98px) {
  .settings-preview-body,
  .settings-count-grid {
    grid-template-columns: 1fr;
  }

  .settings-detail-list {
    grid-template-columns: 1fr;
  }

  .settings-sticky-actions .btn {
    width: 100%;
  }
}

/* Phase 13 quote/invoice workflow polish */
.workflow-actions-card .card-header {
  background: linear-gradient(135deg, rgba(13, 110, 253, 0.08), rgba(32, 201, 151, 0.08));
}

.workflow-actions-card .card-body {
  align-items: center;
}

.workflow-actions-card form {
  margin: 0;
}

.workflow-actions-card .btn {
  min-width: 120px;
}

@media (max-width: 576px) {
  .workflow-actions-card .btn {
    width: 100%;
  }

  .workflow-actions-card form {
    width: 100%;
  }
}

/* Phase 16 email history and templates */
.email-history-card {
  border: 1px solid rgba(13, 110, 253, 0.12);
}

.email-history-subject {
  max-width: 420px;
  white-space: normal;
}

.template-body {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

/* Phase 18 SaaS control center */
.saas-metric-card {
  border: 1px solid rgba(13, 110, 253, 0.12);
  border-radius: 1rem;
}

.saas-metric-card .display-6 {
  letter-spacing: -0.04em;
}

.table td .btn {
  white-space: nowrap;
}

/* Phase 20 demo mode center */
.demo-metric-card {
  border: 1px solid rgba(255, 193, 7, 0.25);
  border-radius: 1rem;
}

.demo-metric-card .display-6 {
  letter-spacing: -0.04em;
}

/* Phase 21 sales leads pipeline */
.lead-metric-card {
  border: 1px solid rgba(13, 110, 253, 0.18);
  border-radius: 1rem;
}

.lead-metric-card .display-6 {
  letter-spacing: -0.04em;
}

.lead-notes {
  white-space: pre-wrap;
}

/* Phase 22 lead conversion workflow */
.lead-conversion-panel {
  border: 1px solid rgba(25, 135, 84, 0.22);
  border-radius: 1rem;
}

/* Phase 23 lead follow-up task tracking */
.lead-followup-card {
  border-radius: 1rem;
}

.lead-followup-item:last-child {
  border-bottom: 0;
}

/* Phase 24 public website lead intake */
.public-intake-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(13, 110, 253, 0.16), transparent 32rem),
    linear-gradient(135deg, #0f172a 0%, #1e293b 46%, #f8fafc 46%, #eef2f7 100%);
}

.public-intake-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 560px);
  gap: 2rem;
  align-items: center;
  max-width: 1180px;
  margin: 0 auto;
  padding: 2rem;
}

.public-intake-hero {
  color: #fff;
  padding: 2rem;
}

.public-intake-hero h1 {
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  line-height: 0.95;
  font-weight: 800;
  letter-spacing: -0.06em;
  margin-bottom: 1rem;
}

.public-intake-hero p {
  max-width: 38rem;
  font-size: 1.15rem;
  color: rgba(255, 255, 255, 0.82);
}

.public-intake-points {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.public-intake-points div {
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
}

.public-intake-points strong,
.public-intake-points span {
  display: block;
}

.public-intake-points span {
  color: rgba(255, 255, 255, 0.75);
  margin-top: 0.2rem;
}

.public-intake-card {
  background: rgba(255, 255, 255, 0.97);
  border-radius: 1.5rem;
  padding: 2rem;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.25);
}

.public-intake-card h2,
.public-thankyou-card h1 {
  font-weight: 800;
  letter-spacing: -0.03em;
}

.public-intake-hp {
  position: absolute;
  left: -10000px;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.public-intake-note {
  color: #64748b;
  font-size: 0.9rem;
}

.public-thankyou-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 2rem;
}

.public-thankyou-card {
  max-width: 560px;
  width: 100%;
}

@media (max-width: 900px) {
  .public-intake-shell {
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .public-intake-hero {
    padding: 1.25rem 0.75rem 0;
  }

  .public-intake-card {
    border-radius: 1.25rem;
    padding: 1.25rem;
  }
}

/* Phase 24B public intake readability hotfix */
.public-intake-page {
  background: #f4f7fb !important;
}

.public-intake-shell {
  background: #ffffff !important;
  overflow: hidden !important;
}

.public-intake-page::before,
.public-intake-page::after,
.public-intake-shell::before,
.public-intake-shell::after,
.public-intake-hero::before,
.public-intake-hero::after {
  display: none !important;
  content: none !important;
}

.public-intake-hero {
  background:
    radial-gradient(circle at top left, rgba(59, 130, 246, 0.22), transparent 34%),
    linear-gradient(180deg, #0f172a 0%, #111827 52%, #172033 100%) !important;
  color: #ffffff !important;
  position: relative !important;
  overflow: hidden !important;
}

.public-intake-hero,
.public-intake-hero h1,
.public-intake-hero h2,
.public-intake-hero h3,
.public-intake-hero p,
.public-intake-hero span,
.public-intake-hero strong {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.public-intake-hero p,
.public-intake-hero .text-muted,
.public-intake-hero small {
  color: #e5edf8 !important;
}

.public-intake-points {
  position: relative !important;
  z-index: 2 !important;
}

.public-intake-points > * {
  background: rgba(15, 23, 42, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28) !important;
  color: #ffffff !important;
}

.public-intake-points > * *,
.public-intake-points > * p,
.public-intake-points > * span,
.public-intake-points > * strong {
  color: #ffffff !important;
}

.public-intake-card {
  position: relative !important;
  z-index: 3 !important;
  background: #ffffff !important;
}

@media (max-width: 991.98px) {
  .public-intake-hero {
    min-height: auto !important;
    padding-bottom: 2rem !important;
  }

  .public-intake-points > * {
    background: rgba(15, 23, 42, 0.96) !important;
  }
}

/* Phase 26A company logo upload */
.settings-logo-preview-img,
.settings-logo-detail-img,
.settings-logo-current img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 18px;
  padding: 0.5rem;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

.settings-logo-preview-img {
  width: 56px;
  height: 56px;
  border-radius: 16px;
}

.settings-logo-current {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
}

.settings-logo-current img {
  max-width: 160px;
}

/* Phase 26B logo display polish */
.settings-logo-preview-img,
.settings-logo-detail-img,
.settings-logo-current img {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.settings-logo-preview-img {
  width: 84px;
  height: 84px;
  object-fit: contain;
}

.settings-logo-detail-img {
  width: 110px;
  height: 110px;
  object-fit: contain;
}

.settings-logo-current img {
  width: auto;
  height: auto;
  max-width: 180px;
  max-height: 180px;
  object-fit: contain;
  display: block;
}

.settings-logo-current {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0.25rem 0;
}

.settings-preview-mark {
  width: 84px;
  height: 84px;
  font-size: 1.35rem;
}

.settings-card img[src*="/logo"] {
  image-rendering: auto;
}

/* Phase 27C company-friendly display numbers */
.friendly-id-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.22);
  color: #1e3a8a;
  white-space: nowrap;
}

/* Phase 33D-2C semantic workflow badges */
.workflow-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 1.75rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.015em;
  border: 1px solid transparent;
  white-space: nowrap;
}

.workflow-badge-success {
  color: #166534;
  background: #dcfce7;
  border-color: #86efac;
}

.workflow-badge-progress {
  color: #1e3a8a;
  background: #dbeafe;
  border-color: #93c5fd;
}

.workflow-badge-attention {
  color: #92400e;
  background: #fef3c7;
  border-color: #fcd34d;
}

.workflow-badge-danger {
  color: #991b1b;
  background: #fee2e2;
  border-color: #fca5a5;
}

.workflow-badge-neutral {
  color: #334155;
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.workflow-badge-dark {
  color: #ffffff;
  background: #334155;
  border-color: #334155;
}

/* Phase 33D-3A action hierarchy polish */

.btn {
  transition:
    transform 0.14s ease,
    box-shadow 0.14s ease,
    background-color 0.14s ease,
    border-color 0.14s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary,
.btn-success {
  box-shadow: 0 10px 24px rgba(37, 99, 235, 0.18);
}

.btn-outline-secondary {
  border-color: rgba(148, 163, 184, 0.55);
  color: #475569;
  background: rgba(255,255,255,0.82);
}

.btn-outline-secondary:hover {
  background: #f8fafc;
  color: #0f172a;
}

.btn-outline-danger {
  border-color: rgba(220, 38, 38, 0.35);
}

.btn-outline-danger:hover {
  background: #dc2626;
  color: #ffffff;
}

.btn-group-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.btn-soft {
  background: #f8fafc;
  border: 1px solid rgba(148,163,184,0.28);
  color: #334155;
}

.btn-soft:hover {
  background: #e2e8f0;
  color: #0f172a;
}

.workflow-actions-card .btn {
  min-width: 120px;
}

.crud-table .btn-sm {
  min-width: 72px;
}

.page-heading .btn {
  min-height: 42px;
}

.card-footer .btn {
  min-height: 38px;
}

@media (max-width: 767.98px) {
  .btn-group-actions,
  .workflow-actions-card .card-body {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  .workflow-actions-card .btn,
  .btn-group-actions .btn,
  .btn-group-actions form,
  .btn-group-actions button {
    width: 100%;
  }

  .crud-table td:last-child {
    min-width: 210px;
  }
}

/* Phase 33D-4B executive reports redesign */

.report-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #f8fafc;
  border: 1px solid rgba(148,163,184,0.14);
}

.report-status-row .workflow-badge {
  min-width: 56px;
  justify-content: center;
}

@media (max-width: 767.98px) {
  .report-status-row {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Phase 33D-4D executive navigation hierarchy */

.nav-executive {
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  border: 0;
  color: #ffffff !important;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.28);
}

.nav-executive:hover {
  background: linear-gradient(135deg, #1d4ed8, #1e40af);
  color: #ffffff !important;
}

.nav-executive-secondary {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
  color: #ffffff !important;
  font-weight: 600;
}

.nav-executive-secondary:hover {
  background: rgba(255,255,255,0.2);
  color: #ffffff !important;
}

.nav-workflow {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.92) !important;
}

.nav-workflow:hover {
  background: rgba(255,255,255,0.16);
  color: #ffffff !important;
}

.nav-utility {
  opacity: 0.82;
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.78) !important;
}

.nav-utility:hover {
  opacity: 1;
  color: #ffffff !important;
}

@media (max-width: 767.98px) {
  .nav-executive,
  .nav-executive-secondary,
  .nav-workflow,
  .nav-utility {
    width: 100%;
    justify-content: center;
  }
}

/* Phase 33D-TAX-2B finance trust form messaging */
.finance-trust-note {
  background: #eff6ff;
  color: #1e3a8a;
  border: 1px solid #bfdbfe;
  border-radius: 1rem;
}

/* Phase 33D-FIN-2C live financial preview */
.finance-preview-card {
  background: #ffffff;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 1rem;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08);
  padding: 1rem;
}

.finance-preview-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.finance-preview-label {
  color: #64748b;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.finance-preview-value {
  color: #0f172a;
  font-size: 1.25rem;
  font-weight: 800;
  margin-top: 0.25rem;
}

.finance-preview-total {
  color: #166534;
  font-size: 1.45rem;
}

@media (max-width: 767.98px) {
  .finance-preview-grid {
    grid-template-columns: 1fr;
  }
}

/* Phase 33D-FIN-2D prominent financial summary */
.finance-preview-card-prominent {
  border: 2px solid rgba(37, 99, 235, 0.38);
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 32rem),
    #ffffff;
}

.finance-save-summary {
  align-items: center;
  background: #f0fdf4;
  border: 1px solid #86efac;
  border-radius: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem;
}

.finance-save-summary-total {
  color: #166534;
  font-size: 1.8rem;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 767.98px) {
  .finance-save-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .finance-save-summary-total {
    font-size: 1.5rem;
  }
}

/* Phase 33D-FIN-3A inline financial calculator */
.finance-subtotal-input {
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.08);
  font-size: 1.1rem;
  font-weight: 700;
}

.inline-finance-calculator {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 28rem),
    #ffffff;
  border: 2px solid rgba(37, 99, 235, 0.32);
  border-radius: 1rem;
  padding: 1rem;
}

.inline-finance-header {
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.inline-finance-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 767.98px) {
  .inline-finance-header {
    flex-direction: column;
  }

  .inline-finance-grid {
    grid-template-columns: 1fr;
  }
}

/* Phase 33D-FIN-3B forced visible financial calculator */
.forced-finance-calculator {
  background:
    radial-gradient(circle at top left, rgba(22, 163, 74, 0.12), transparent 28rem),
    #ffffff;
  border: 3px solid rgba(22, 163, 74, 0.42);
  border-radius: 1.25rem;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.12);
  padding: 1.25rem;
}

/* Phase FIN-5A customer financial trust layer */

.portal-tax-rate {
  color: #64748b;
  font-size: 0.85rem;
  font-weight: 700;
  margin-left: 0.35rem;
}

.portal-grand-total {
  color: #166534;
  font-size: 1.25rem;
  font-weight: 900;
}

/* Phase UPLOAD-3A smart upload workflow */

.upload-workflow-card {
  border-top: 4px solid #2563eb;
}

.upload-visibility-options {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.upload-visibility-option {
  align-items: flex-start;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 1rem;
  cursor: pointer;
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
}

.upload-visibility-option small {
  color: #64748b;
  display: block;
  margin-top: 0.15rem;
}

@media (max-width: 767.98px) {
  .upload-visibility-options {
    grid-template-columns: 1fr;
  }
}

/* CUSTOMER-PORTAL-2A executive summary */

.portal-kpi-value {
  color: #0f172a;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 0.35rem;
}
/* Inventory Essentials — native OKCTech module */
.inventory-page{--inv-blue:#1769e0;--inv-ink:#172033;--inv-muted:#6b7485;--inv-line:#e5e9ef;color:var(--inv-ink)}
.inventory-subnav{display:flex;gap:.45rem;overflow-x:auto;padding:.65rem;background:#10243e;border-radius:.75rem;margin-bottom:1.25rem;scrollbar-width:thin}
.inventory-subnav a{color:#c7d2df;text-decoration:none;white-space:nowrap;padding:.55rem .85rem;border-radius:.45rem;font-size:.82rem;font-weight:650}.inventory-subnav a:hover{background:#1769e0;color:#fff}
.inventory-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:1.2rem 0}.inventory-heading span{display:block;color:#1769e0;font-size:.66rem;letter-spacing:.13em;font-weight:800}.inventory-heading h1{font-size:1.7rem;font-weight:760;margin:.25rem 0}.inventory-heading p{color:var(--inv-muted);font-size:.86rem;margin:0}.inventory-actions{display:flex;gap:.5rem;flex-wrap:wrap}
.inventory-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.inventory-stats article{background:#fff;border:1px solid var(--inv-line);border-radius:.7rem;padding:1rem;display:flex;gap:.8rem;align-items:center;box-shadow:0 2px 8px #10243e08}.inventory-stats i{width:2.6rem;height:2.6rem;display:grid;place-items:center;border-radius:.65rem;font-style:normal;font-weight:800}.inventory-stats small{display:block;color:#788392;font-size:.58rem;font-weight:800;letter-spacing:.06em}.inventory-stats strong{display:block;font-size:1.45rem;line-height:1.2}.inventory-stats span{display:block;color:#8a94a2;font-size:.64rem}.inv-blue{background:#e7f0ff;color:#1769e0}.inv-amber{background:#fff2dc;color:#d98200}.inv-green{background:#e1f7ed;color:#119764}.inv-purple{background:#eee9ff;color:#7357d8}
.inventory-panel{background:#fff;border:1px solid var(--inv-line);border-radius:.72rem;overflow:hidden;box-shadow:0 2px 8px #10243e08}.inventory-toolbar{display:flex;gap:.55rem;padding:.8rem;border-bottom:1px solid var(--inv-line)}.inventory-toolbar input,.inventory-toolbar select{min-width:0;border:1px solid #dce2e9;border-radius:.45rem;padding:.55rem .7rem;background:#fff;font-size:.78rem}.inventory-toolbar input{flex:1}.inventory-toolbar select{max-width:150px}
.inventory-table{width:100%;border-collapse:collapse;font-size:.78rem}.inventory-table th{background:#fafbfc;color:#7c8796;text-align:left;font-size:.6rem;letter-spacing:.06em;padding:.72rem .9rem;border-bottom:1px solid var(--inv-line);white-space:nowrap}.inventory-table td{padding:.72rem .9rem;border-bottom:1px solid #edf0f4;color:#566171;vertical-align:middle}.inventory-table tr:last-child td{border-bottom:0}.inventory-table td>strong{display:block;color:#1d2839}.inventory-table td>small{display:block;color:#98a1ad;font-size:.62rem}.inv-qty{font-size:1rem;color:#172033}.inv-pill,.inv-status{display:inline-block;border-radius:999px;padding:.25rem .5rem;font-size:.65rem;font-weight:700;white-space:nowrap}.inv-pill{background:#edf2f8;color:#4c5b6d}.inv-status.out{background:#fdeaea;color:#ca3434}.inv-status.low{background:#fff1d6;color:#a96500}.inv-status.good{background:#e3f6eb;color:#147d57}
.inventory-stepper{display:inline-flex;border:1px solid #dfe4ea;border-radius:.4rem;overflow:hidden}.inventory-stepper button{border:0;background:#f7f9fb;width:2rem;height:2rem;font-weight:700;color:#445061}.inventory-stepper button:disabled{opacity:.35}.inventory-stepper span{width:2.1rem;display:grid;place-items:center;border-inline:1px solid #e5e9ee;font-weight:700;color:#172033}.inv-section-title{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--inv-line)}.inv-section-title h2{font-size:1rem;margin:0}.inv-section-title a{font-size:.75rem;text-decoration:none}.inventory-activity>div{display:grid;grid-template-columns:2rem 1fr auto 6rem;gap:.65rem;align-items:center;padding:.65rem 1rem;border-bottom:1px solid #eef1f4}.inventory-activity>div:last-child{border-bottom:0}.inventory-activity p{margin:0}.inventory-activity p strong,.inventory-activity p small{display:block}.inventory-activity p small,.inventory-activity time{font-size:.65rem;color:#8993a0}.inv-activity-icon{width:1.8rem;height:1.8rem;border-radius:50%;background:#edf3fc;display:grid;place-items:center;color:#1769e0;font-weight:800}
.inventory-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.inventory-card-grid article h3{font-size:1rem;margin:.6rem 0 .2rem}.inventory-card-grid article p,.inventory-card-grid article div{font-size:.76rem;color:#6f7a88}.inventory-card-grid article small{display:block;color:#1769e0;font-weight:700;font-size:.68rem;margin:.65rem 0}.inv-vendor-icon,.inv-type-icon{width:2.5rem;height:2.5rem;border-radius:.65rem;background:#e7f0ff;color:#1769e0;display:grid;place-items:center;font-weight:800}.inventory-report-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.inventory-company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;padding:1rem}.inventory-company-card{border:1px solid var(--inv-line);border-radius:.6rem;padding:1rem;text-decoration:none;color:#172033}.inventory-company-card strong,.inventory-company-card small{display:block}.inventory-company-card small{color:#1769e0;margin-top:.4rem}
@media(max-width:1000px){.inventory-stats{grid-template-columns:repeat(2,1fr)}.inventory-card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.inventory-heading{align-items:flex-start;flex-direction:column}.inventory-actions{width:100%}.inventory-actions .btn{flex:1}.inventory-stats{grid-template-columns:1fr 1fr}.inventory-toolbar{flex-wrap:wrap}.inventory-toolbar input{flex-basis:100%}.inventory-toolbar select{max-width:none;flex:1}.inventory-table thead{display:none}.inventory-table,.inventory-table tbody,.inventory-table tr,.inventory-table td{display:block;width:100%}.inventory-table tr{padding:.7rem;border-bottom:1px solid var(--inv-line)}.inventory-table td{display:flex;justify-content:space-between;align-items:center;text-align:right;border:0;padding:.35rem .2rem}.inventory-table td:before{content:attr(data-label);font-size:.62rem;color:#7d8794;font-weight:800;text-transform:uppercase;margin-right:1rem}.inventory-table td form{margin-left:auto}.inventory-card-grid,.inventory-report-grid,.inventory-company-grid{grid-template-columns:1fr}.inventory-activity>div{grid-template-columns:2rem 1fr auto}.inventory-activity time{display:none}}
@media(max-width:430px){.inventory-stats{grid-template-columns:1fr}.inventory-toolbar select,.inventory-toolbar .btn{flex-basis:100%}}

/* Extra-simple stock controls: large enough for phone use */
.inventory-howto{display:flex;align-items:center;gap:1rem;background:#eef5ff;border:1px solid #cfe0f8;color:#40516a;border-radius:.65rem;padding:.7rem 1rem;margin-bottom:.8rem;font-size:.74rem}.inventory-howto>b{color:#172033}.inventory-howto span{display:flex;align-items:center;gap:.35rem}.inventory-howto strong{border-radius:.35rem;padding:.22rem .42rem;color:#fff}.how-add{background:#11845b}.how-remove{background:#c64242}
.inventory-stepper{display:inline-grid!important;grid-template-columns:minmax(76px,1fr) 54px minmax(76px,1fr);border-radius:.6rem!important;background:#fff}.inventory-stepper button{width:auto!important;min-height:46px!important;color:#fff!important;font-size:0!important;display:flex;align-items:center;justify-content:center;gap:.25rem}.inventory-stepper button:before{font-size:1.35rem;font-weight:900;line-height:1}.inventory-stepper button:after{font-size:.67rem;font-weight:800}.inventory-stepper button:first-of-type{background:#c64242!important}.inventory-stepper button:first-of-type:before{content:'−'}.inventory-stepper button:first-of-type:after{content:'Remove 1'}.inventory-stepper button:last-of-type{background:#11845b!important}.inventory-stepper button:last-of-type:before{content:'+'}.inventory-stepper button:last-of-type:after{content:'Add 1'}.inventory-stepper span{width:auto!important;min-width:54px;font-size:1.05rem!important;background:#fff}
@media(max-width:700px){.inventory-howto{align-items:flex-start;flex-direction:column;gap:.4rem}.inventory-table td[data-label="Adjust"]{display:block;padding-top:.75rem}.inventory-table td[data-label="Adjust"]:before{display:block;text-align:left;margin-bottom:.45rem}.inventory-stepper{grid-template-columns:1fr 64px 1fr;width:100%;margin-left:0!important}.inventory-stepper button{min-height:58px!important}.inventory-stepper button:before{font-size:1.7rem}.inventory-stepper button:after{font-size:.8rem}}

/* SuperAdmin retains the compact professional controls. */
.inventory-admin-mode .inventory-stepper{display:inline-flex!important;width:auto!important;border-radius:.4rem!important}.inventory-admin-mode .inventory-stepper button{width:2rem!important;min-height:2rem!important;height:2rem!important;background:#f7f9fb!important;color:#445061!important;font-size:.9rem!important;padding:0!important}.inventory-admin-mode .inventory-stepper button:before,.inventory-admin-mode .inventory-stepper button:after{content:none!important}.inventory-admin-mode .inventory-stepper span{width:2.1rem!important;min-width:2.1rem;font-size:.8rem!important}
@media(max-width:700px){.inventory-admin-mode .inventory-table td[data-label="Adjust"]{display:flex;padding-top:.35rem}.inventory-admin-mode .inventory-table td[data-label="Adjust"]:before{display:initial;margin-bottom:0}.inventory-admin-mode .inventory-stepper{margin-left:auto!important}}
