/* ==========================
   Remove Rounded Globally
========================== */

.btn {
  border-radius: 0 !important;
}

.form-control,
.card,
.dropdown-menu,
.modal-content {
  border-radius: 0 !important;
}


.btn {
  box-shadow: none !important;
}

.btn:focus,
.btn:active {
  box-shadow: none !important;
}

.card {
  border: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* ==========================================================
   BOOTSTRAP COLOR OVERRIDE
   Compatible with Bootstrap 5.3+
   Load AFTER bootstrap.css
========================================================== */

:root,
[data-bs-theme="light"] {

  /* PRIMARY */
  --bs-primary: #640D5F;
  --bs-primary-lighten: #7c1477;
  --bs-primary-darken: #4e084b;
  --bs-primary-rgb: 100, 13, 95;

  /* SUCCESS */
  --bs-success: #4793AF;
  --bs-success-lighten: #4db2d6;
  --bs-success-darken: #39829c;
  --bs-success-rgb: 71, 147, 175;

  /* DANGER */
  --bs-danger: #cf221c;
  --bs-danger-lighten: #df2922;
  --bs-danger-darken: #aa0600;
  --bs-danger-rgb: 195, 17, 12;

  /* WARNING */
  --bs-warning: #ccb531;
  --bs-warning-lighten: #dd622a;
  --bs-warning-darken: #b64b1a;
  --bs-warning-rgb: 204, 86, 30;

  /* INFO */
  --bs-info: #EE66A6;
  --bs-info-lighten: #f87bb5;
  --bs-info-darken: #d65591;
  --bs-info-rgb: 150, 206, 180;

  --bs-lighten: rgb(255, 240, 105);
  --bs-darken: rgb(50, 54, 58);
}


/* ==========================================================
   BUTTON OVERRIDE
========================================================== */

.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);

  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary) 85%, var(--bs-darken));
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary) 85%, var(--bs-darken));

  --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary) 75%, var(--bs-darken));
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary) 75%, var(--bs-darken));

  --bs-btn-disabled-bg: color-mix(in srgb, var(--bs-primary) 60%, var(--bs-white));
  --bs-btn-disabled-border-color: color-mix(in srgb, var(--bs-primary) 60%, var(--bs-white));
  --bs-btn-disabled-color: var(--bs-white);

  --bs-btn-disabled-opacity: 1;
}

.btn-success {
  --bs-btn-bg: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);

  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-success) 85%, var(--bs-lighten));
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-success) 85%, var(--bs-darken));

  --bs-btn-active-bg: color-mix(in srgb, var(--bs-success) 75%, var(--bs-lighten));
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-success) 75%, var(--bs-lighten));

  --bs-btn-disabled-bg: color-mix(in srgb, var(--bs-success) 60%, var(--bs-white));
  --bs-btn-disabled-border-color: color-mix(in srgb, var(--bs-success) 60%, var(--bs-white));
  --bs-btn-disabled-color: var(--bs-white);

  --bs-btn-disabled-opacity: 1;
}

.btn-danger {
  --bs-btn-bg: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);

  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-danger) 85%, var(--bs-lighten));
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-danger) 85%, var(--bs-darken));

  --bs-btn-active-bg: color-mix(in srgb, var(--bs-danger) 75%, var(--bs-lighten));
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-danger) 75%, var(--bs-lighten));

  --bs-btn-disabled-bg: color-mix(in srgb, var(--bs-danger) 60%, var(--bs-white));
  --bs-btn-disabled-border-color: color-mix(in srgb, var(--bs-danger) 60%, var(--bs-white));
  --bs-btn-disabled-color: var(--bs-white);

  --bs-btn-disabled-opacity: 1;
}

.btn-warning {
  --bs-btn-bg: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);

  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-warning) 85%, var(--bs-lighten));
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-warning) 85%, var(--bs-darken));

  --bs-btn-active-bg: color-mix(in srgb, var(--bs-warning) 75%, var(--bs-lighten));
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-warning) 75%, var(--bs-lighten));

  --bs-btn-disabled-bg: color-mix(in srgb, var(--bs-warning) 60%, var(--bs-white));
  --bs-btn-disabled-border-color: color-mix(in srgb, var(--bs-warning) 60%, var(--bs-white));
  --bs-btn-disabled-color: var(--bs-secondary);

  --bs-btn-disabled-opacity: 1;
}

.btn-info {
  --bs-btn-bg: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-color: #000000;

  --bs-btn-hover-bg: color-mix(in srgb, var(--bs-info) 85%, var(--bs-lighten));
  --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-info) 85%, var(--bs-darken));

  --bs-btn-active-bg: color-mix(in srgb, var(--bs-info) 75%, var(--bs-lighten));
  --bs-btn-active-border-color: color-mix(in srgb, var(--bs-info) 75%, var(--bs-lighten));
  
  --bs-btn-disabled-bg: color-mix(in srgb, var(--bs-info) 60%, var(--bs-white));
  --bs-btn-disabled-border-color: color-mix(in srgb, var(--bs-info) 60%, var(--bs-white));
  --bs-btn-disabled-color: var(--bs-secondary);

  --bs-btn-disabled-opacity: 1;
}


/* OUTLINE BUTTONS */

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
}

.btn-outline-success {
  --bs-btn-color: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-bg: var(--bs-success);
  --bs-btn-hover-border-color: var(--bs-success);
}

.btn-outline-danger {
  --bs-btn-color: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-bg: var(--bs-danger);
  --bs-btn-hover-border-color: var(--bs-danger);
}

.btn-outline-warning {
  --bs-btn-color: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-bg: var(--bs-warning);
  --bs-btn-hover-border-color: var(--bs-warning);
}

.btn-outline-info {
  --bs-btn-color: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-bg: var(--bs-info);
  --bs-btn-hover-border-color: var(--bs-info);
}


/* ==========================================================
   ALERT OVERRIDE
========================================================== */

.alert-primary {
  --bs-alert-bg: rgba(var(--bs-primary-rgb), 0.1);
  --bs-alert-border-color: rgba(var(--bs-primary-rgb), 0.3);
  --bs-alert-color: var(--bs-primary);
}

.alert-success {
  --bs-alert-bg: rgba(var(--bs-success-rgb), 0.1);
  --bs-alert-border-color: rgba(var(--bs-success-rgb), 0.3);
  --bs-alert-color: var(--bs-success);
}

.alert-danger {
  --bs-alert-bg: rgba(var(--bs-danger-rgb), 0.1);
  --bs-alert-border-color: rgba(var(--bs-danger-rgb), 0.3);
  --bs-alert-color: var(--bs-danger);
}

.alert-warning {
  --bs-alert-bg: rgba(var(--bs-warning-rgb), 0.1);
  --bs-alert-border-color: rgba(var(--bs-warning-rgb), 0.3);
  --bs-alert-color: var(--bs-warning);
}

.alert-info {
  --bs-alert-bg: rgba(var(--bs-info-rgb), 0.1);
  --bs-alert-border-color: rgba(var(--bs-info-rgb), 0.3);
  --bs-alert-color: var(--bs-info);
}


/* ==========================================================
   BADGE OVERRIDE
========================================================== */

.badge-primary {
  --bs-badge-bg: var(--bs-primary);
}

.badge-success {
  --bs-badge-bg: var(--bs-success);
}

.badge-danger {
  --bs-badge-bg: var(--bs-danger);
}

.badge-warning {
  --bs-badge-bg: var(--bs-warning);
  --bs-badge-color: #fff;
}

.badge-info {
  --bs-badge-bg: var(--bs-info);
  --bs-badge-color: #000;
}


/* ==========================================================
   LIST GROUP
========================================================== */

.list-group-item-primary {
  --bs-list-group-color: var(--bs-primary);
  --bs-list-group-bg: rgba(var(--bs-primary-rgb), 0.1);
}

.list-group-item-success {
  --bs-list-group-color: var(--bs-success);
  --bs-list-group-bg: rgba(var(--bs-success-rgb), 0.1);
}

.list-group-item-danger {
  --bs-list-group-color: var(--bs-danger);
  --bs-list-group-bg: rgba(var(--bs-danger-rgb), 0.1);
}

.list-group-item-warning {
  --bs-list-group-color: var(--bs-warning);
  --bs-list-group-bg: rgba(var(--bs-warning-rgb), 0.1);
}

.list-group-item-info {
  --bs-list-group-color: var(--bs-info);
  --bs-list-group-bg: rgba(var(--bs-info-rgb), 0.1);
}


/* ==========================================================
   LINKS
========================================================== */

.link-primary { color: var(--bs-primary); }
.link-success { color: var(--bs-success); }
.link-danger { color: var(--bs-danger); }
.link-warning { color: var(--bs-warning); }
.link-info { color: var(--bs-info); }


/* ==========================================================
   TABLES
========================================================== */

.table-primary {
  --bs-table-bg: rgba(var(--bs-primary-rgb), 0.1);
}

.table-success {
  --bs-table-bg: rgba(var(--bs-success-rgb), 0.1);
}

.table-danger {
  --bs-table-bg: rgba(var(--bs-danger-rgb), 0.1);
}

.table-warning {
  --bs-table-bg: rgba(var(--bs-warning-rgb), 0.1);
}

.table-info {
  --bs-table-bg: rgba(var(--bs-info-rgb), 0.1);
}

.badge {
  border-radius: 0;
}


/* ==========================================================
   NAV TABS OVERRIDE
========================================================== */

.nav-tabs {
  --bs-nav-tabs-border-radius: 0;
}

.nav-tabs .nav-link {
  border-radius: 0;
  background-color: var(--bs-secondary);
  color: #fff;
  border-color: var(--bs-secondary);
}

.nav-tabs .nav-link:not(.active):hover,
.nav-tabs .nav-link:not(.active):focus {
  background-color: color-mix(in srgb, var(--bs-secondary) 80%, #000);
  border-color: color-mix(in srgb, var(--bs-secondary) 80%, #000);
  color: #fff;
}

.nav-tabs .nav-link.active {
  border-radius: 0;
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  border-bottom-color: var(--bs-body-bg);
}
