/* ============================================================
   THEME SYSTEM — edit only this block to restyle everything
   ============================================================ */
:root {
    /* 1. PALETTE — raw colors */
    --midnight-navy:  #2b2d42;
    --slate-violet:   #4a4e69;
    --warm-gold:      #d4a843;
    --cream-linen:    #f0ece4;
    --white:          #ffffff;

    /* Semantic status colors */
    --sage:           #3d7d5e;
    --sage-deep:      #2e5f47;
    --sage-tint:      #edf5f1;

    --terracotta:     #c0614a;
    --terracotta-deep:#9c4a36;
    --terracotta-tint:#fdf4f2;

    /* 2. SEMANTIC TOKENS */
    --background:     var(--cream-linen);
    --surface:        var(--white);
    --text-primary:   var(--midnight-navy);
    --text-secondary: var(--slate-violet);
    --accent:         var(--warm-gold);
    --accent-hover:   #ba9234;
    --border-color:   rgba(43, 45, 66, 0.11);

    /* 3. GLOBAL BOOTSTRAP TOKENS */
    --bs-body-bg:                  var(--background);
    --bs-body-color:               var(--text-primary);
    --bs-primary:                  var(--midnight-navy);
    --bs-primary-rgb:              43, 45, 66;
    --bs-secondary:                var(--slate-violet);
    --bs-success:                  var(--sage);
    --bs-success-rgb:              61, 125, 94;
    --bs-danger:                   var(--terracotta);
    --bs-danger-rgb:               192, 97, 74;
    --bs-border-color:             var(--border-color);
    --bs-link-color:               var(--accent);
    --bs-link-hover-color:         var(--accent-hover);
    --bs-emphasis-color:           var(--midnight-navy);
    --bs-card-bg:                  var(--surface);
    --bs-navbar-color:             rgba(255,255,255,0.85);
    --bs-navbar-hover-color:       white;
    --bs-navbar-brand-color:       white;
    --bs-navbar-brand-hover-color: white;

    /* Table highlight */
    --bs-table-bg:                 transparent;
    --table-primary-bg:            rgba(212, 168, 67, 0.11);
    --table-primary-color:         var(--midnight-navy);
    --table-primary-border:        rgba(212, 168, 67, 0.22);

    /* 4. MISC */
    --radius: 14px;
    --shadow: 0 2px 10px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.06);

    /* 5. COMPONENT SEMANTIC TOKENS — wire these up once, never touch again */
    --btn-primary-bg:        var(--midnight-navy);
    --btn-primary-bg-hover:  var(--warm-gold);
    --btn-primary-focus-rgb: 43, 45, 66;

    --btn-secondary-focus-rgb: 212, 168, 67;

    --btn-accent-active-bg:  #9a7020;

    --btn-disabled-bg:       var(--slate-violet);
    --btn-disabled-color:    rgba(255,255,255,0.45);

    --status-success:        var(--sage);
    --status-success-deep:   var(--sage-deep);
    --status-success-tint:   var(--sage-tint);
    --status-success-rgb:    61, 125, 94;

    --status-danger:         var(--terracotta);
    --status-danger-deep:    var(--terracotta-deep);
    --status-danger-tint:    var(--terracotta-tint);
    --status-danger-rgb:     192, 97, 74;
}
/* ============================================================
   BUTTON OVERRIDES
   ============================================================ */

.btn-primary {
    --bs-btn-bg:                  var(--btn-primary-bg);
    --bs-btn-border-color:        var(--btn-primary-bg);
    --bs-btn-color:               var(--white);

    --bs-btn-hover-bg:            var(--btn-primary-bg-hover);
    --bs-btn-hover-border-color:  var(--btn-primary-bg-hover);
    --bs-btn-hover-color:         var(--white);

    --bs-btn-active-bg:           var(--accent-hover);
    --bs-btn-active-border-color: var(--accent-hover);
    --bs-btn-active-color:        var(--white);

    --bs-btn-focus-shadow-rgb:    var(--btn-primary-focus-rgb);

    --bs-btn-disabled-bg:         var(--btn-disabled-bg);
    --bs-btn-disabled-border-color: var(--btn-disabled-bg);
    --bs-btn-disabled-color:      var(--btn-disabled-color);
}

.btn-secondary {
    --bs-btn-bg:                  transparent;
    --bs-btn-border-color:        var(--accent);
    --bs-btn-color:               var(--accent);

    --bs-btn-hover-bg:            var(--accent);
    --bs-btn-hover-border-color:  var(--accent);
    --bs-btn-hover-color:         var(--white);

    --bs-btn-active-bg:           var(--accent-hover);
    --bs-btn-active-border-color: var(--accent-hover);
    --bs-btn-active-color:        var(--white);

    --bs-btn-focus-shadow-rgb:    var(--btn-secondary-focus-rgb);

    --bs-btn-disabled-bg:         transparent;
    --bs-btn-disabled-border-color: var(--border-color);
    --bs-btn-disabled-color:      var(--text-secondary);
}

.btn-accent {
    --bs-btn-bg:                  var(--accent);
    --bs-btn-border-color:        var(--accent);
    --bs-btn-color:               var(--white);

    --bs-btn-hover-bg:            var(--accent-hover);
    --bs-btn-hover-border-color:  var(--accent-hover);
    --bs-btn-hover-color:         var(--white);

    --bs-btn-active-bg:           var(--btn-accent-active-bg);
    --bs-btn-active-border-color: var(--btn-accent-active-bg);
    --bs-btn-active-color:        var(--white);

    --bs-btn-focus-shadow-rgb:    var(--btn-secondary-focus-rgb);

    --bs-btn-disabled-bg:         var(--btn-disabled-bg);
    --bs-btn-disabled-border-color: var(--btn-disabled-bg);
    --bs-btn-disabled-color:      var(--btn-disabled-color);
}

.btn-success {
    --bs-btn-bg:                  var(--status-success);
    --bs-btn-border-color:        var(--status-success);
    --bs-btn-color:               var(--white);

    --bs-btn-hover-bg:            var(--status-success-deep);
    --bs-btn-hover-border-color:  var(--status-success-deep);
    --bs-btn-hover-color:         var(--white);

    --bs-btn-active-bg:           var(--status-success-deep);
    --bs-btn-active-border-color: var(--status-success-deep);
    --bs-btn-active-color:        var(--white);

    --bs-btn-focus-shadow-rgb:    var(--status-success-rgb);

    --bs-btn-disabled-bg:         var(--status-success);
    --bs-btn-disabled-border-color: var(--status-success);
    --bs-btn-disabled-color:      var(--btn-disabled-color);
}

.btn-danger {
    --bs-btn-bg:                  var(--status-danger);
    --bs-btn-border-color:        var(--status-danger);
    --bs-btn-color:               var(--white);

    --bs-btn-hover-bg:            var(--status-danger-deep);
    --bs-btn-hover-border-color:  var(--status-danger-deep);
    --bs-btn-hover-color:         var(--white);

    --bs-btn-active-bg:           var(--status-danger-deep);
    --bs-btn-active-border-color: var(--status-danger-deep);
    --bs-btn-active-color:        var(--white);

    --bs-btn-focus-shadow-rgb:    var(--status-danger-rgb);

    --bs-btn-disabled-bg:         var(--status-danger);
    --bs-btn-disabled-border-color: var(--status-danger);
    --bs-btn-disabled-color:      var(--btn-disabled-color);
}

/* ============================================================
   TABLE OVERRIDES
   ============================================================ */

.table-primary {
    --bs-table-bg:           var(--table-primary-bg);
    --bs-table-color:        var(--table-primary-color);
    --bs-table-border-color: var(--table-primary-border);
    --bs-table-striped-bg:   rgba(212, 168, 67, 0.18);
    --bs-table-active-bg:    rgba(212, 168, 67, 0.24);
    --bs-table-hover-bg:     rgba(212, 168, 67, 0.20);
}

.table-success {
    --bs-table-bg:           var(--status-success-tint);
    --bs-table-color:        var(--status-success-deep);
    --bs-table-border-color: rgba(61, 125, 94, 0.20);
    --bs-table-striped-bg:   rgba(61, 125, 94, 0.10);
    --bs-table-active-bg:    rgba(61, 125, 94, 0.18);
    --bs-table-hover-bg:     rgba(61, 125, 94, 0.14);
}

.table-danger {
    --bs-table-bg:           var(--status-danger-tint);
    --bs-table-color:        var(--status-danger-deep);
    --bs-table-border-color: rgba(192, 97, 74, 0.20);
    --bs-table-striped-bg:   rgba(192, 97, 74, 0.10);
    --bs-table-active-bg:    rgba(192, 97, 74, 0.18);
    --bs-table-hover-bg:     rgba(192, 97, 74, 0.14);
}

/* ============================================================
   AUTOCOMPLETE DROPDOWN
   ============================================================ */

.autocomplete-wrapper {
    position: relative;
}

.autocomplete-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    max-height: 220px;
    overflow-y: auto;
    background: var(--surface, #fff);
    border: 1px solid var(--border-color, rgba(43,45,66,0.11));
    border-radius: 6px;
    box-shadow: var(--shadow, 0 2px 10px rgba(0,0,0,0.04));
    display: none;
    font-size: 0.9rem;
    color: var(--text-primary, #2b2d42);
}

.autocomplete-item {
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    transition: background 0.1s;
}

.autocomplete-item:hover,
.autocomplete-item.active {
    background: var(--warm-gold, #d4a843);
    color: var(--white, #fff);
}

.autocomplete-dropdown:empty {
    display: none !important;
}
