.col-card {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.80));
  border: 1px solid rgba(192,164,105,.18);
  border-radius: 2rem;
  box-shadow: 0 10px 30px rgba(60,58,52,.08);
}

.col-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.78)),
    linear-gradient(135deg, rgba(192,164,105,.12), rgba(122,132,80,.08));
}

.col-orb-gold {
  position: absolute;
  top: 0;
  right: 0;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  transform: translate(-1.5rem, -35%);
  background: radial-gradient(circle, rgba(192,164,105,.14), transparent 65%);
  pointer-events: none;
}

.col-orb-olive {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  transform: translate(-20%, 35%);
  background: radial-gradient(circle, rgba(122,132,80,.12), transparent 65%);
  pointer-events: none;
}

.col-icon-box {
  width: 56px;
  height: 56px;
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(192,164,105,.14);
  border: 1px solid rgba(192,164,105,.18);
  color: #A88945;
}

.col-title {
  color: #3C3A34;
  font-weight: 700;
}

.col-muted {
  color: #7B766D;
}

.col-badge {
  display: inline-flex;
  align-items: center;
  padding: .55rem .9rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 600;
  font-size: .82rem;
}

.col-badge-gold {
  background: rgba(192,164,105,.14);
  color: #A88945;
  border-color: rgba(192,164,105,.18);
}

.col-badge-olive {
  background: rgba(122,132,80,.14);
  color: #7A8450;
  border-color: rgba(122,132,80,.18);
}

.col-badge-danger {
  background: rgba(197,107,87,.14);
  color: #C56B57;
  border-color: rgba(197,107,87,.18);
}

.col-badge-info {
  background: rgba(137,182,199,.14);
  color: #56879b;
  border-color: rgba(137,182,199,.18);
}

.col-btn-soft {
  background: rgba(255,255,255,.84);
  color: #3C3A34;
  border: 1px solid rgba(192,164,105,.18);
  border-radius: 1rem;
  padding: .7rem 1.25rem;
}

.col-btn-soft:hover {
  background: rgba(192,164,105,.08);
  color: #3C3A34;
}

.col-btn-gold {
  background: linear-gradient(135deg, #C0A469, #A88945);
  color: #fff;
  border: none;
  border-radius: 1rem;
  padding: .7rem 1.25rem;
}

.col-btn-gold:hover {
  color: #fff;
  opacity: .95;
}

.col-section-title {
  color: #3C3A34;
  font-weight: 700;
  margin-bottom: .2rem;
}

.col-input {
  min-height: 48px;
  border-radius: 1rem;
  border-color: rgba(192,164,105,.18);
}

.col-input:focus {
  border-color: rgba(192,164,105,.45);
  box-shadow: 0 0 0 .2rem rgba(192,164,105,.12);
}

.col-input-disabled {
  background: #f8f6f2;
}

.col-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-radius: 1rem;
  padding: 1rem;
  cursor: pointer;
}

.col-setting-olive {
  background: rgba(122,132,80,.08);
  border: 1px solid rgba(122,132,80,.14);
}

.col-setting-info {
  background: rgba(137,182,199,.08);
  border: 1px solid rgba(137,182,199,.14);
}

.col-setting-gold {
  background: rgba(192,164,105,.08);
  border: 1px solid rgba(192,164,105,.14);
}

.col-snapshot {
  margin-top: 1rem;
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(60,58,52,.04);
  border: 1px solid rgba(60,58,52,.08);
}

.col-alert-success {
  background: rgba(122,132,80,.12);
  color: #3C3A34;
}

.col-alert-danger {
  background: rgba(197,107,87,.12);
  color: #3C3A34;
  border: 1px solid rgba(197,107,87,.18);
}

.col-kanban-board {
    display: grid;
    grid-template-columns: repeat(4, minmax(260px, 1fr));
    gap: 1rem;
  }

  .col-kanban-column {
    background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.76));
    border: 1px solid rgba(192,164,105,.16);
    border-radius: 1.5rem;
    box-shadow: 0 10px 30px rgba(60,58,52,.06);
    min-height: 500px;
    display: flex;
    flex-direction: column;
  }

  .col-kanban-header {
    padding: 1rem 1rem .8rem;
    border-bottom: 1px solid rgba(192,164,105,.12);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
  }

  .col-kanban-body {
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: .9rem;
  }

  .col-kanban-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 .6rem;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 700;
  }

  .col-count-none {
    background: rgba(60,58,52,.08);
    color: #3C3A34;
    border: 1px solid rgba(60,58,52,.10);
  }

  .col-count-basic {
    background: rgba(192,164,105,.14);
    color: #A88945;
    border: 1px solid rgba(192,164,105,.18);
  }

  .col-count-standard {
    background: rgba(137,182,199,.14);
    color: #56879b;
    border: 1px solid rgba(137,182,199,.18);
  }

  .col-count-full {
    background: rgba(122,132,80,.14);
    color: #7A8450;
    border: 1px solid rgba(122,132,80,.18);
  }

  .col-lead-card {
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(192,164,105,.14);
    border-radius: 1.2rem;
    padding: 1rem;
    box-shadow: 0 6px 18px rgba(60,58,52,.04);
    transition: transform .18s ease, box-shadow .18s ease;
  }

  .col-lead-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(60,58,52,.08);
  }

  .col-lead-title {
    font-size: .96rem;
    font-weight: 800;
    color: #3C3A34;
    margin-bottom: .3rem;
  }

  .col-lead-meta {
    font-size: .8rem;
    color: #7B766D;
    margin-bottom: .2rem;
  }

  .col-lead-actions {
    display: flex;
    gap: .5rem;
    margin-top: .9rem;
    flex-wrap: wrap;
  }

  .col-btn-view {
    background: linear-gradient(135deg, #C0A469, #A88945);
    color: #fff;
    border: none;
    border-radius: .85rem;
    font-weight: 700;
    padding: .45rem .9rem;
  }

  .col-btn-view:hover {
    color: #fff;
    opacity: .95;
  }

  .col-btn-edit {
    background: rgba(255,255,255,.84);
    color: #3C3A34;
    border: 1px solid rgba(192,164,105,.18);
    border-radius: .85rem;
    font-weight: 700;
    padding: .45rem .9rem;
  }

  .col-btn-edit:hover {
    background: rgba(192,164,105,.08);
    color: #3C3A34;
  }

  .col-empty-kanban {
    text-align: center;
    padding: 2rem 1rem;
    color: #7B766D;
    font-size: .9rem;
    border: 1px dashed rgba(192,164,105,.18);
    border-radius: 1rem;
    background: rgba(255,255,255,.55);
  }

  .col-lead-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .75rem;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
  }

  .chip-none {
    background: rgba(60,58,52,.08);
    color: #3C3A34;
    border: 1px solid rgba(60,58,52,.10);
  }

  .chip-basic {
    background: rgba(192,164,105,.14);
    color: #A88945;
    border: 1px solid rgba(192,164,105,.18);
  }

  .chip-standard {
    background: rgba(137,182,199,.14);
    color: #56879b;
    border: 1px solid rgba(137,182,199,.18);
  }

  .chip-full {
    background: rgba(122,132,80,.14);
    color: #7A8450;
    border: 1px solid rgba(122,132,80,.18);
  }

  @media (max-width: 1399px) {
    .col-kanban-board {
      grid-template-columns: repeat(2, minmax(260px, 1fr));
    }
  }

  @media (max-width: 767px) {
    .col-kanban-board {
      grid-template-columns: 1fr;
    }
  }
    .map-stat-card {
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.80));
    border: 1px solid rgba(192,164,105,.18);
    border-radius: 1.5rem;
    box-shadow: 0 10px 30px rgba(60,58,52,.08);
    height: 100%;
  }

  .map-stat-value {
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
    color: #3C3A34;
  }

  .map-filter-card {
    border-radius: 1.5rem;
  }

  #map {
    width: 100%;
    height: 72vh;
    min-height: 520px;
    border-radius: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(192,164,105,.16);
    box-shadow: 0 10px 30px rgba(60,58,52,.08);
  }

  .lead-badge {
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    display: inline-block;
    font-weight: 700;
  }

  .lead-none {
    background: rgba(60,58,52,.08);
    color: #3C3A34;
    border: 1px solid rgba(60,58,52,.10);
  }

  .lead-basic {
    background: rgba(192,164,105,.14);
    color: #A88945;
    border: 1px solid rgba(192,164,105,.18);
  }

  .lead-standard {
    background: rgba(137,182,199,.14);
    color: #56879b;
    border: 1px solid rgba(137,182,199,.18);
  }

  .lead-full {
    background: rgba(122,132,80,.14);
    color: #7A8450;
    border: 1px solid rgba(122,132,80,.18);
  }

  .lead-info {
    max-width: 260px;
    padding: 2px 2px 2px 0;
  }

  .lead-info h6 {
    margin-bottom: 8px;
    font-weight: 800;
    color: #3C3A34;
  }

  .lead-info p {
    margin-bottom: 6px;
    font-size: 13px;
    color: #5f5950;
  }

  .lead-popup-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 10px;
  }

  .lead-popup-actions a {
    text-decoration: none;
  }

  .map-toolbar-btn {
    border-radius: 1rem;
  }

  @media (max-width: 767px) {
    #map {
      min-height: 360px;
      height: 58vh;
    }
  }
  .col-form-grid .form-control,
  .col-form-grid .form-select,
  .col-form-grid textarea,
  .col-form-grid input[type="text"],
  .col-form-grid input[type="number"],
  .col-form-grid input[type="date"] {
    min-height: 48px;
    border-radius: 1rem;
    border: 1px solid rgba(192,164,105,.18);
    background: rgba(255,255,255,.92);
    box-shadow: none !important;
  }

  .col-form-grid textarea {
    min-height: 110px;
    padding-top: .8rem;
  }

  .col-form-grid input:focus,
  .col-form-grid select:focus,
  .col-form-grid textarea:focus {
    border-color: rgba(192,164,105,.45);
    box-shadow: 0 0 0 .2rem rgba(192,164,105,.12) !important;
  }

  .lead-side-sticky {
    position: sticky;
    top: 90px;
  }

  .lead-mini-card {
    border-radius: 1rem;
    padding: .9rem 1rem;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(192,164,105,.14);
  }

  .lead-mini-label {
    font-size: .72rem;
    font-weight: 700;
    color: #7B766D;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .15rem;
  }

  .lead-mini-value {
    color: #3C3A34;
    font-weight: 700;
  }

  .lead-chip-basic {
    background: rgba(192,164,105,.14);
    color: #A88945;
    border-color: rgba(192,164,105,.18);
  }

  .lead-chip-standard {
    background: rgba(137,182,199,.14);
    color: #56879b;
    border-color: rgba(137,182,199,.18);
  }

  .lead-chip-full {
    background: rgba(122,132,80,.14);
    color: #7A8450;
    border-color: rgba(122,132,80,.18);
  }

  .lead-chip-none {
    background: rgba(60,58,52,.08);
    color: #3C3A34;
    border-color: rgba(60,58,52,.10);
  }
 .lead-detail-grid .label {
    font-size: .74rem;
    font-weight: 700;
    color: #7B766D;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .2rem;
  }

  .lead-detail-grid .value {
    color: #3C3A34;
    font-weight: 700;
    word-break: break-word;
  }

  .lead-info-box {
    padding: .95rem 1rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(192,164,105,.14);
    height: 100%;
  }

  .lead-chip-basic {
    background: rgba(192,164,105,.14);
    color: #A88945;
    border: 1px solid rgba(192,164,105,.18);
  }

  .lead-chip-standard {
    background: rgba(137,182,199,.14);
    color: #56879b;
    border: 1px solid rgba(137,182,199,.18);
  }

  .lead-chip-full {
    background: rgba(122,132,80,.14);
    color: #7A8450;
    border: 1px solid rgba(122,132,80,.18);
  }

  .lead-chip-none {
    background: rgba(60,58,52,.08);
    color: #3C3A34;
    border: 1px solid rgba(60,58,52,.10);
  }

  .lead-side-card {
    position: sticky;
    top: 90px;
  }

  .lead-image-card {
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid rgba(192,164,105,.14);
    background: rgba(255,255,255,.84);
  }

  .lead-image-card img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    display: block;
  }

  .lead-map-btn {
    width: 100%;
  }

  .lead-section-divider {
    border-color: rgba(192,164,105,.14);
    margin: 1.5rem 0;
  }
 .trip-hero-card {
    position: relative;
    overflow: hidden;
    background:
      linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,255,255,.80)),
      linear-gradient(135deg, rgba(192,164,105,.12), rgba(122,132,80,.08));
  }

  .trip-stat-card {
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.80));
    border: 1px solid rgba(192,164,105,.18);
    border-radius: 1.5rem;
    box-shadow: 0 10px 30px rgba(60,58,52,.08);
    height: 100%;
  }

  .trip-stat-value {
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
    color: #3C3A34;
  }

  .trip-stat-label {
    color: #7B766D;
    font-size: .86rem;
  }

  .trip-map-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 1.5rem;
    border: 1px solid rgba(192,164,105,.14);
  }

  #tripMap {
    height: 560px;
    width: 100%;
  }

  .trip-section-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .8rem;
    border-radius: 999px;
    background: rgba(192,164,105,.12);
    color: #A88945;
    border: 1px solid rgba(192,164,105,.16);
    font-size: .78rem;
    font-weight: 700;
  }

  .trip-soft-box {
    padding: .7rem .85rem;
    border-radius: 1rem;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(192,164,105,.12);
  }

  .trip-soft-title {
    font-size: .72rem;
    font-weight: 700;
    color: #7B766D;
    margin-bottom: .2rem;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .trip-soft-value {
    color: #3C3A34;
    font-weight: 700;
  }

  .trip-table-wrap {
    overflow: hidden;
    border-radius: 1.5rem;
  }

  .trip-table thead th {
    background: rgba(192,164,105,.08);
    color: #3C3A34;
    font-weight: 700;
    border-bottom: 1px solid rgba(192,164,105,.12);
    white-space: nowrap;
  }

  .trip-table td {
    vertical-align: middle;
    color: #5f5950;
  }

  .trip-index-badge {
    width: 34px;
    height: 34px;
    border-radius: .85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(192,164,105,.12);
    border: 1px solid rgba(192,164,105,.16);
    color: #A88945;
    font-weight: 700;
    font-size: .8rem;
  }

  .trip-route-legend {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
  }

  .trip-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    display: inline-block;
  }

  .trip-empty {
    padding: 2rem 1rem;
    text-align: center;
    color: #7B766D;
  }

  .trip-mini-note {
    font-size: .8rem;
    color: #7B766D;
  }

  .trip-btn-soft {
    background: rgba(255,255,255,.84);
    color: #3C3A34;
    border: 1px solid rgba(192,164,105,.18);
    border-radius: 1rem;
    padding: .72rem 1.1rem;
    font-weight: 600;
  }

  .trip-btn-soft:hover {
    background: rgba(192,164,105,.08);
    color: #3C3A34;
  }

  @media (max-width: 991px) {
    #tripMap {
      height: 420px;
    }

    .trip-stat-value {
      font-size: 1.7rem;
    }
  }

  @media (max-width: 767px) {
    #tripMap {
      height: 320px;
    }
  }