@theme {
  /* Colors */
  --color-canvas-parchment: #f7f7f4;
  --color-inkwell: #262510;
  --color-muted-stone: #7a7974;
  --color-deep-shadow: #141414;
  --color-pebble-gray: #e6e5e0;
  --color-onyx-outline: #f54e00;
  --color-chartreuse-alert: #4ade80;
  --color-goldenrod-accent: #c08532;
  --color-forest-green-action: #34785c;
  --color-highlight-beige: #cdcdc9;

  /* Typography */
  --font-cursorgothic: 'CursorGothic', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-berkeleymono: 'berkeleyMono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-lato: 'Lato', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-eb-garamond: 'EB Garamond', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-apple-system: '-apple-system', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Typography — Scale */
  --text-caption: 10px;
  --leading-caption: 1.1;
  --tracking-caption: 0.06px;
  --text-body-lg: 14px;
  --leading-body-lg: 1.43;
  --tracking-body-lg: 0.08px;
  --text-heading-sm: 22px;
  --leading-heading-sm: 1.25;
  --tracking-heading-sm: -0.08px;
  --text-heading: 26px;
  --leading-heading: 1.2;
  --tracking-heading: -0.35px;
  --text-heading-lg: 36px;
  --leading-heading-lg: 1.1;
  --tracking-heading-lg: -0.45px;
  --text-display: 72px;
  --leading-display: 1;
  --tracking-display: -2.16px;

  /* Spacing */
  --spacing-4: 4px;
  --spacing-5: 5px;
  --spacing-6: 6px;
  --spacing-8: 8px;
  --spacing-10: 10px;
  --spacing-11: 11px;
  --spacing-12: 12px;
  --spacing-13: 13px;
  --spacing-15: 15px;
  --spacing-16: 16px;
  --spacing-18: 18px;
  --spacing-20: 20px;
  --spacing-22: 22px;
  --spacing-28: 28px;
  --spacing-43: 43px;
  --spacing-67: 67px;

  /* Border Radius */
  --radius-sm: 1.5px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;

  /* Shadows */
  --shadow-xl: rgba(0, 0, 0, 0.14) 0px 28px 70px 0px, rgba(0, 0, 0, 0.1) 0px 14px 32px 0px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px;
  --shadow-xl-2: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px, rgba(0, 0, 0, 0.15) 0px 12px 24px -8px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 0.5px;
  --shadow-subtle: oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.28) 0px 18px 36px -18px;
}

:root {
  /* Colors */
  --color-canvas-parchment: #f7f7f4;
  --color-inkwell: #262510;
  --color-muted-stone: #7a7974;
  --color-deep-shadow: #141414;
  --color-pebble-gray: #e6e5e0;
  --color-onyx-outline: #f54e00;
  --color-chartreuse-alert: #4ade80;
  --color-goldenrod-accent: #c08532;
  --color-forest-green-action: #34785c;
  --color-highlight-beige: #cdcdc9;

  /* Typography — Font Families */
  --font-cursorgothic: 'CursorGothic', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-berkeleymono: 'berkeleyMono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --font-lato: 'Lato', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-eb-garamond: 'EB Garamond', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-apple-system: '-apple-system', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Typography — Scale */
  --text-caption: 10px;
  --leading-caption: 1.1;
  --tracking-caption: 0.06px;
  --text-body-lg: 14px;
  --leading-body-lg: 1.43;
  --tracking-body-lg: 0.08px;
  --text-heading-sm: 22px;
  --leading-heading-sm: 1.25;
  --tracking-heading-sm: -0.08px;
  --text-heading: 26px;
  --leading-heading: 1.2;
  --tracking-heading: -0.35px;
  --text-heading-lg: 36px;
  --leading-heading-lg: 1.1;
  --tracking-heading-lg: -0.45px;
  --text-display: 72px;
  --leading-display: 1;
  --tracking-display: -2.16px;

  /* Typography — Weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Spacing */
  --spacing-4: 4px;
  --spacing-5: 5px;
  --spacing-6: 6px;
  --spacing-8: 8px;
  --spacing-10: 10px;
  --spacing-11: 11px;
  --spacing-12: 12px;
  --spacing-13: 13px;
  --spacing-15: 15px;
  --spacing-16: 16px;
  --spacing-18: 18px;
  --spacing-20: 20px;
  --spacing-22: 22px;
  --spacing-28: 28px;
  --spacing-43: 43px;
  --spacing-67: 67px;

  /* Layout */
  --page-max-width: 1300px;
  --section-gap: 43px;
  --card-padding: 12px;
  --element-gap: 8px;

  /* Border Radius */
  --radius-sm: 1.5px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;

  /* Named Radii */
  --radius-cards: 4px;
  --radius-buttons: 4px;
  --radius-general: 4px;
  --radius-prominent: 8px;

  /* Shadows */
  --shadow-xl: rgba(0, 0, 0, 0.14) 0px 28px 70px 0px, rgba(0, 0, 0, 0.1) 0px 14px 32px 0px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px;
  --shadow-xl-2: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px, rgba(0, 0, 0, 0.15) 0px 12px 24px -8px, oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 0.5px;
  --shadow-subtle: oklab(0.263084 -0.00230259 0.0124794 / 0.1) 0px 0px 0px 1px, rgba(0, 0, 0, 0.28) 0px 18px 36px -18px;

  /* Surfaces */
  --surface-canvas-parchment: #f7f7f4;
  --surface-pebble-gray: #e6e5e0;
  --surface-highlight-beige: #cdcdc9;
}

/* Global Reset & Base Elements */
html {
    font-size: 14px;
    height: 100%;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    font-family: var(--font-lato);
    background-color: var(--color-canvas-parchment);
    color: var(--color-inkwell);
    overflow-x: hidden;
    line-height: var(--leading-body-lg);
    font-size: var(--text-body-lg);
    letter-spacing: var(--tracking-body-lg);
}

/* Base Headings - Strict Cursor Typography */
h1, .display-1 {
    font-family: var(--font-cursorgothic);
    font-size: var(--text-display);
    line-height: var(--leading-display);
    letter-spacing: var(--tracking-display);
    color: var(--color-deep-shadow);
    font-weight: var(--font-weight-regular);
    font-feature-settings: "ss09" 1, "ss08" 1, "tnum" 1;
}

h2, .display-2 {
    font-family: var(--font-cursorgothic);
    font-size: var(--text-heading-lg);
    line-height: var(--leading-heading-lg);
    letter-spacing: var(--tracking-heading-lg);
    color: var(--color-deep-shadow);
    font-weight: var(--font-weight-regular);
    font-feature-settings: "ss09" 1, "ss08" 1, "tnum" 1;
}

h3 {
    font-family: var(--font-cursorgothic);
    font-size: var(--text-heading);
    line-height: var(--leading-heading);
    letter-spacing: var(--tracking-heading);
    color: var(--color-inkwell);
    font-weight: var(--font-weight-regular);
    font-feature-settings: "ss09" 1, "ss08" 1, "tnum" 1;
}

h4, h5, h6 {
    font-family: var(--font-cursorgothic);
    font-size: var(--text-heading-sm);
    line-height: var(--leading-heading-sm);
    letter-spacing: var(--tracking-heading-sm);
    color: var(--color-inkwell);
    font-weight: var(--font-weight-regular);
    font-feature-settings: "ss09" 1, "ss08" 1, "tnum" 1;
}

/* ---------------------------------------------------
   CURSOR UI COMPONENTS
--------------------------------------------------- */

/* 1. Primary Filled Button */
.btn-cursor-primary {
    background-color: var(--color-inkwell);
    color: var(--color-canvas-parchment);
    border-radius: var(--radius-buttons);
    padding: 17.5px;
    border: none;
    font-family: var(--font-lato);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--element-gap);
    text-decoration: none;
}

.btn-cursor-primary:hover {
    background-color: var(--color-deep-shadow);
    color: var(--color-canvas-parchment);
    transform: translateY(-1px);
    box-shadow: var(--shadow-subtle);
}

.btn-cursor-primary:active {
    transform: translateY(0);
}

/* 2. Ghost Action Button */
.btn-cursor-ghost {
    background-color: transparent;
    color: var(--color-inkwell);
    border-radius: var(--radius-buttons);
    padding: 2px 6px;
    border: none;
    font-family: var(--font-lato);
    font-weight: var(--font-weight-regular);
    cursor: pointer;
    transition: background-color 0.1s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-decoration: none;
}

.btn-cursor-ghost:hover {
    background-color: var(--color-pebble-gray);
    color: var(--color-deep-shadow);
}

/* 3. Outlined Accent Button */
.btn-cursor-outline {
    background-color: transparent;
    color: var(--color-onyx-outline);
    border: 1px solid var(--color-onyx-outline);
    border-radius: var(--radius-buttons);
    padding: 16.5px; /* Account for 1px border */
    font-family: var(--font-lato);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: all 0.1s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--element-gap);
    text-decoration: none;
}

.btn-cursor-outline:hover {
    background-color: var(--color-onyx-outline);
    color: var(--color-canvas-parchment);
    transform: translateY(-1px);
    box-shadow: var(--shadow-subtle);
}

/* 4. Elevated Content Card */
.card-cursor-elevated {
    background-color: var(--color-pebble-gray);
    border-radius: 10px;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--color-highlight-beige); /* Fallback for older browsers not supporting oklab border shadow */
    padding: var(--card-padding);
    color: var(--color-inkwell);
    display: flex;
    flex-direction: column;
    gap: var(--element-gap);
    margin-bottom: var(--spacing-16);
}

.card-cursor-elevated .card-header {
    background: transparent;
    border-bottom: 1px solid var(--color-highlight-beige);
    padding-bottom: var(--spacing-12);
    margin-bottom: var(--spacing-8);
}

.card-cursor-elevated .card-title {
    font-family: var(--font-cursorgothic);
    font-size: var(--text-heading-sm);
    letter-spacing: var(--tracking-heading-sm);
    color: var(--color-deep-shadow);
    margin: 0;
}

/* 5. Flat Background Card */
.card-cursor-flat {
    background-color: var(--color-canvas-parchment);
    border-radius: var(--radius-cards);
    padding: 0 7.5px;
    border: 1px solid var(--color-highlight-beige); /* To distinguish it slightly if needed, or leave transparent */
    box-shadow: none;
    display: flex;
    flex-direction: column;
    margin-bottom: var(--spacing-12);
}

/* 6. Text Input Field */
.input-cursor {
    background-color: transparent;
    border: 1px solid var(--color-muted-stone);
    color: var(--color-inkwell);
    border-radius: 0px;
    padding: 6px 8px; /* 6-8px vertical, 8px horizontal */
    font-family: var(--font-berkeleymono);
    font-size: var(--text-body-lg);
    line-height: var(--leading-body-lg);
    width: 100%;
    transition: border-color 0.1s ease;
}

.input-cursor:focus {
    outline: none;
    border-color: var(--color-deep-shadow);
    box-shadow: 0 0 0 1px var(--color-deep-shadow);
}

/* 7. Icon Button */
.btn-cursor-icon {
    background-color: transparent;
    border: 1px solid var(--color-muted-stone);
    color: var(--color-muted-stone);
    border-radius: 0px;
    padding: 0px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.1s ease;
    width: 32px;
    height: 32px;
}

.btn-cursor-icon:hover {
    color: var(--color-inkwell);
    border-color: var(--color-inkwell);
}

/* 8. Branding Card */
.card-cursor-branding {
    background-color: var(--color-pebble-gray);
    border-radius: var(--radius-cards);
    box-shadow: none;
    padding: var(--spacing-12);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--element-gap);
}

.card-cursor-branding span {
    font-family: var(--font-lato);
    font-size: var(--text-caption);
    color: var(--color-muted-stone);
    text-transform: uppercase;
    letter-spacing: var(--tracking-caption);
    text-shadow: 0 1px 2px rgba(0,0,0,0.05); /* text beneath may have a shadow */
}

/* ---------------------------------------------------
   Bootstrap Overrides & Utility Classes
--------------------------------------------------- */

.form-control, .form-select {
    background-color: transparent;
    border: 1px solid var(--color-muted-stone);
    color: var(--color-inkwell);
    border-radius: 0px;
    padding: 6px 8px;
    font-family: var(--font-berkeleymono);
    font-size: var(--text-body-lg);
    line-height: var(--leading-body-lg);
    width: 100%;
    transition: border-color 0.1s ease;
}

.form-control:focus, .form-select:focus {
    outline: none;
    border-color: var(--color-deep-shadow);
    box-shadow: 0 0 0 1px var(--color-deep-shadow);
}

.card {
    background-color: var(--color-pebble-gray);
    border-radius: 10px;
    box-shadow: var(--shadow-xl);
    border: 1px solid var(--color-highlight-beige);
    color: var(--color-inkwell);
    display: flex;
    flex-direction: column;
    margin-bottom: var(--spacing-16);
}

.btn-primary {
    background-color: var(--color-inkwell) !important;
    color: var(--color-canvas-parchment) !important;
    border-radius: var(--radius-buttons) !important;
    padding: 8px 17.5px !important;
    border: none !important;
    font-family: var(--font-lato) !important;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: transform 0.1s ease, box-shadow 0.1s ease;
}

.btn-primary:hover {
    background-color: var(--color-deep-shadow) !important;
    color: var(--color-canvas-parchment) !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-subtle);
}

.btn-outline-primary {
    background-color: transparent !important;
    color: var(--color-onyx-outline) !important;
    border: 1px solid var(--color-onyx-outline) !important;
    border-radius: var(--radius-buttons) !important;
    padding: 8px 17.5px !important;
    font-family: var(--font-lato);
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    transition: all 0.1s ease;
}

.btn-outline-primary:hover {
    background-color: var(--color-onyx-outline) !important;
    color: var(--color-canvas-parchment) !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-subtle);
}

/* DataTables Strict Cursor Styling */
.table, table.dataTable {
    color: var(--color-inkwell) !important;
    border-collapse: collapse !important;
    width: 100% !important;
    font-family: var(--font-berkeleymono);
    font-size: 13px;
}

.table thead th, table.dataTable thead th {
    border-bottom: 1px solid var(--color-muted-stone) !important;
    color: var(--color-muted-stone);
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-caption);
    font-size: var(--text-caption);
    background: var(--color-pebble-gray) !important;
    padding: var(--spacing-12) var(--spacing-8) !important;
    font-family: var(--font-lato);
}

.table tbody tr, table.dataTable tbody tr {
    background: transparent !important;
    border-bottom: 1px solid var(--color-highlight-beige);
    transition: background-color 0.1s ease;
}

.table tbody tr:hover, table.dataTable tbody tr:hover {
    background: var(--color-pebble-gray) !important;
}

.table tbody td, table.dataTable tbody td {
    padding: var(--spacing-12) var(--spacing-8) !important;
    vertical-align: middle;
}

.dataTables_wrapper .dataTables_filter input {
    background-color: transparent;
    border: 1px solid var(--color-muted-stone);
    color: var(--color-inkwell);
    border-radius: 0px;
    padding: 4px 8px;
    font-family: var(--font-berkeleymono);
}

/* Layout Utilities */
.cursor-page-container {
    max-width: var(--page-max-width);
    margin: 0 auto;
    padding: var(--spacing-20);
}

.cursor-section {
    margin-bottom: var(--section-gap);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-16);
}

/* Alert / Code snippets */
.cursor-alert {
    background-color: var(--color-chartreuse-alert);
    color: var(--color-inkwell);
    font-family: var(--font-berkeleymono);
    padding: var(--spacing-8) var(--spacing-12);
    border-radius: var(--radius-sm);
    font-size: 12px;
}

pre {
    font-family: var(--font-berkeleymono);
    background-color: var(--color-inkwell);
    color: var(--color-canvas-parchment);
    padding: var(--spacing-16);
    border-radius: var(--radius-general);
    font-size: 13px;
    overflow-x: auto;
}

code {
    font-family: var(--font-berkeleymono);
    background-color: var(--color-pebble-gray);
    color: var(--color-onyx-outline);
    padding: 2px 4px;
    border-radius: var(--radius-sm);
    font-size: 12px;
}

/* SweetAlert overrides */
.swal2-popup {
    background: var(--color-pebble-gray) !important;
    border: 1px solid var(--color-highlight-beige) !important;
    color: var(--color-inkwell) !important;
    border-radius: 10px !important;
    box-shadow: var(--shadow-xl) !important;
}
.swal2-title { 
    color: var(--color-deep-shadow) !important; 
    font-family: var(--font-cursorgothic);
    font-size: var(--text-heading-sm);
}
.swal2-html-container { 
    color: var(--color-muted-stone) !important; 
    font-family: var(--font-lato); 
}
.swal2-confirm {
    background-color: var(--color-inkwell) !important;
    color: var(--color-canvas-parchment) !important;
    border-radius: var(--radius-buttons) !important;
}

/* Standard Bootstrap Buttons overriding with Cursor Theme */
.btn-success { background-color: var(--color-forest-green-action) !important; color: var(--color-canvas-parchment) !important; border: none !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-success:hover { background-color: #2a6149 !important; transform: translateY(-1px); box-shadow: var(--shadow-subtle); }
.btn-outline-success { background-color: transparent !important; color: var(--color-forest-green-action) !important; border: 1px solid var(--color-forest-green-action) !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-outline-success:hover { background-color: var(--color-forest-green-action) !important; color: var(--color-canvas-parchment) !important; }
.btn-danger { background-color: var(--color-onyx-outline) !important; color: var(--color-canvas-parchment) !important; border: none !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-danger:hover { background-color: #d14200 !important; transform: translateY(-1px); box-shadow: var(--shadow-subtle); }
.btn-outline-danger { background-color: transparent !important; color: var(--color-onyx-outline) !important; border: 1px solid var(--color-onyx-outline) !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-outline-danger:hover { background-color: var(--color-onyx-outline) !important; color: var(--color-canvas-parchment) !important; }
.btn-warning { background-color: var(--color-goldenrod-accent) !important; color: var(--color-canvas-parchment) !important; border: none !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-warning:hover { background-color: #a3702a !important; transform: translateY(-1px); box-shadow: var(--shadow-subtle); }
.btn-info { background-color: var(--color-muted-stone) !important; color: var(--color-canvas-parchment) !important; border: none !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-outline-info { background-color: transparent !important; color: var(--color-muted-stone) !important; border: 1px solid var(--color-muted-stone) !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-outline-info:hover { background-color: var(--color-muted-stone) !important; color: var(--color-canvas-parchment) !important; }
.btn-secondary { background-color: var(--color-pebble-gray) !important; color: var(--color-inkwell) !important; border: 1px solid var(--color-highlight-beige) !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-secondary:hover { background-color: var(--color-highlight-beige) !important; }
.btn-outline-secondary { background-color: transparent !important; color: var(--color-inkwell) !important; border: 1px solid var(--color-muted-stone) !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-outline-secondary:hover { background-color: var(--color-pebble-gray) !important; color: var(--color-deep-shadow) !important; }
.btn-dark { background-color: var(--color-inkwell) !important; color: var(--color-canvas-parchment) !important; border: none !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-dark:hover { background-color: var(--color-deep-shadow) !important; transform: translateY(-1px); box-shadow: var(--shadow-subtle); }
.btn-outline-dark { background-color: transparent !important; color: var(--color-inkwell) !important; border: 1px solid var(--color-inkwell) !important; border-radius: var(--radius-buttons) !important; font-family: var(--font-lato) !important; font-weight: var(--font-weight-semibold); transition: all 0.1s ease; }
.btn-outline-dark:hover { background-color: var(--color-inkwell) !important; color: var(--color-canvas-parchment) !important; }


/* Standard Bootstrap Badges overriding with Cursor Theme */
.badge { font-family: var(--font-berkeleymono) !important; padding: var(--spacing-4) var(--spacing-8) !important; font-weight: var(--font-weight-medium) !important; border-radius: var(--radius-sm) !important; letter-spacing: 0.5px; }
.bg-success { background-color: #dcfce7 !important; color: #166534 !important; border: 1px solid var(--color-chartreuse-alert) !important; }
.bg-danger { background-color: #fee2e2 !important; color: #991b1b !important; border: 1px solid var(--color-onyx-outline) !important; }
.bg-warning { background-color: #fef3c7 !important; color: #92400e !important; border: 1px solid var(--color-goldenrod-accent) !important; }
.bg-info { background-color: #e0e7ff !important; color: #3730a3 !important; border: 1px solid #bae6fd !important; }
.bg-primary { background-color: #e0f2fe !important; color: #0369a1 !important; border: 1px solid #bae6fd !important; }
.bg-secondary { background-color: var(--color-pebble-gray) !important; color: var(--color-inkwell) !important; border: 1px solid var(--color-highlight-beige) !important; }


/* Standard Bootstrap Utility Overrides for Cursor Theme */
.bg-light { background-color: var(--color-pebble-gray) !important; color: var(--color-inkwell) !important; }
.text-muted { color: var(--color-muted-stone) !important; font-family: var(--font-lato); }
.text-dark { color: var(--color-deep-shadow) !important; }
.bg-dark { background-color: var(--color-inkwell) !important; color: var(--color-canvas-parchment) !important; }
.text-white { color: var(--color-canvas-parchment) !important; }
.bg-white { background-color: var(--color-canvas-parchment) !important; color: var(--color-inkwell) !important; }
.border { border-color: var(--color-highlight-beige) !important; }
.border-secondary { border-color: var(--color-muted-stone) !important; }
.rounded, .rounded-3 { border-radius: var(--radius-general) !important; }
.shadow-sm, .shadow { box-shadow: var(--shadow-subtle) !important; }
.shadow-lg, .shadow-xl { box-shadow: var(--shadow-xl) !important; }


/* Standard Bootstrap Layout Components Overrides for Cursor Theme */
.list-group-item { background-color: transparent !important; color: var(--color-inkwell) !important; border-color: var(--color-highlight-beige) !important; font-family: var(--font-lato); }
.list-group-item:hover { background-color: var(--color-pebble-gray) !important; }
.modal-content { background-color: var(--color-pebble-gray) !important; border-radius: 10px !important; box-shadow: var(--shadow-xl) !important; border: 1px solid var(--color-highlight-beige) !important; color: var(--color-inkwell) !important; }
.modal-header { border-bottom: 1px solid var(--color-highlight-beige) !important; }
.modal-footer { border-top: 1px solid var(--color-highlight-beige) !important; }
.progress { background-color: var(--color-highlight-beige) !important; border-radius: var(--radius-general) !important; }
.progress-bar { background-color: var(--color-forest-green-action) !important; }
.dropdown-menu { background-color: var(--color-canvas-parchment) !important; border: 1px solid var(--color-highlight-beige) !important; box-shadow: var(--shadow-xl) !important; }
.dropdown-item { color: var(--color-inkwell) !important; font-family: var(--font-lato); }
.dropdown-item:hover { background-color: var(--color-pebble-gray) !important; color: var(--color-inkwell) !important; }


/* Alerts & Tabs Overrides for Cursor Theme */
.alert-warning { background-color: #fef3c7 !important; color: #92400e !important; border-color: var(--color-goldenrod-accent) !important; }
.alert-info { background-color: #e0e7ff !important; color: #3730a3 !important; border-color: #bae6fd !important; }
.alert-light { background-color: var(--color-canvas-parchment) !important; color: var(--color-inkwell) !important; border-color: var(--color-highlight-beige) !important; }
.nav-tabs { border-bottom: 1px solid var(--color-highlight-beige) !important; }
.nav-tabs .nav-link { color: var(--color-muted-stone) !important; font-family: var(--font-lato); border: none !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; }
.nav-tabs .nav-link:hover { color: var(--color-inkwell) !important; }
.nav-tabs .nav-link.active { color: var(--color-inkwell) !important; background-color: transparent !important; border-color: var(--color-inkwell) !important; font-weight: var(--font-weight-semibold); }


/* Text Color Overrides for Cursor Theme */
.text-primary { color: var(--color-inkwell) !important; }
.text-success { color: var(--color-forest-green-action) !important; }
.text-danger { color: var(--color-onyx-outline) !important; }
.text-warning { color: var(--color-goldenrod-accent) !important; }
.text-info { color: var(--color-muted-stone) !important; }



/* Structural Padding Fixes */
.card-header { padding: 16px 20px !important; margin-bottom: 0 !important; font-family: var(--font-cursorgothic); font-size: var(--text-heading-sm); font-weight: var(--font-weight-medium); border-bottom: 1px solid var(--color-highlight-beige); }
.card-body { padding: 20px !important; }
.card-footer { padding: 16px 20px !important; border-top: 1px solid var(--color-highlight-beige); background: transparent; }
.table-responsive { border-radius: var(--radius-md); }


/* Form Control Specific Fixes */
.form-select { background-color: var(--color-canvas-parchment) !important; }
.form-control { background-color: transparent !important; }

