/* River City Grain - brand tokens + Bootstrap 5.3 theme overrides.
   Source: brand-assets/2011 - RCG Logo Style Guidelines Booklet.pdf (web values, page 3).
   Font: Klavika per the guidelines. It is a licensed font, so Titillium Web (free, similar squared shapes) is the web fallback.
   The guidelines allow alternative fonts for text that accompanies the logo. */
@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@200;300;400;600;700&display=swap');

:root {
  /* Official palette */
  --rcg-green:        #124922;   /* Dk Green  - CMYK c90 m40 y100 k35, PMS 349 */
  --rcg-orange:       #FBAA13;   /* Orange    - CMYK c0 m30 y100 k0 */
  --rcg-dk-orange:    #F06E1A;   /* Dk Orange - CMYK c0 m58 y100 k0, PMS 021 */
  --rcg-yellow:       #F6EF1B;   /* Yellow    - CMYK c3 m0 y95 k0, PMS 012 */

  /* UI shades derived from Dk Green (for hover, pressed, tints, borders) */
  --rcg-green-50:  #EBF3EE;
  --rcg-green-100: #D5E6DB;
  --rcg-green-300: #86B196;
  --rcg-green-600: #0D3A1A;
  --rcg-green-700: #092B13;

  /* UI shades derived from Orange */
  --rcg-orange-50:  #FFF5E1;
  --rcg-orange-100: #FEE7B8;
  --rcg-orange-600: #E69A06;

  /* Neutrals */
  --rcg-ink:       #1D2B22;
  --rcg-slate-700: #38483E;
  --rcg-slate-500: #5A6B60;
  --rcg-line:      #D9DFDB;
  --rcg-canvas:    #F4F5F2;

  /* Functional status colours (not brand colours) */
  --rcg-amber:     #8F5B00;  --rcg-amber-bg: #FDF1D6;
  --rcg-red:       #B3382C;  --rcg-red-bg:   #FBE9E7;
  --rcg-blue:      #1F6285;  --rcg-blue-bg:  #E1EFF6;

  --rcg-font: 'Klavika', 'Titillium Web', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Bootstrap 5.3 theme */
  --bs-primary: #124922;
  --bs-primary-rgb: 18, 73, 34;
  --bs-primary-text-emphasis: #0D3A1A;
  --bs-primary-bg-subtle: #D5E6DB;
  --bs-primary-border-subtle: #A9C9B4;
  --bs-link-color: #124922;
  --bs-link-color-rgb: 18, 73, 34;
  --bs-link-hover-color: #092B13;
  --bs-link-hover-color-rgb: 9, 43, 19;
  --bs-body-font-family: var(--rcg-font);
  --bs-body-font-size: 0.925rem;
  --bs-body-color: #1D2B22;
  --bs-body-bg: #FFFFFF;
  --bs-border-color: #D9DFDB;
  --bs-border-radius: .5rem;
  --bs-heading-color: #124922;
}

body { font-family: var(--rcg-font); background-color: var(--rcg-canvas); }
.table { --bs-table-bg: #fff; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; }

.btn-primary {
  --bs-btn-bg: #124922; --bs-btn-border-color: #124922;
  --bs-btn-hover-bg: #0D3A1A; --bs-btn-hover-border-color: #0D3A1A;
  --bs-btn-active-bg: #092B13; --bs-btn-active-border-color: #092B13;
  --bs-btn-disabled-bg: #124922; --bs-btn-disabled-border-color: #124922;
  --bs-btn-focus-shadow-rgb: 18, 73, 34;
}
.btn-outline-primary {
  --bs-btn-color: #124922; --bs-btn-border-color: #124922;
  --bs-btn-hover-bg: #124922; --bs-btn-hover-border-color: #124922;
  --bs-btn-active-bg: #092B13; --bs-btn-active-border-color: #092B13;
  --bs-btn-disabled-color: #124922; --bs-btn-disabled-border-color: #124922;
  --bs-btn-focus-shadow-rgb: 18, 73, 34;
}
/* Accent actions (exceptions such as flagging a duplicate). Dark green text on orange, 5.4:1. */
.btn-accent {
  --bs-btn-color: #124922; --bs-btn-bg: #FBAA13; --bs-btn-border-color: #FBAA13;
  --bs-btn-hover-color: #124922; --bs-btn-hover-bg: #E69A06; --bs-btn-hover-border-color: #E69A06;
  --bs-btn-active-color: #124922; --bs-btn-active-bg: #D18A04; --bs-btn-active-border-color: #D18A04;
  --bs-btn-focus-shadow-rgb: 251, 170, 19; font-weight: 600;
}
.btn-outline-accent {
  --bs-btn-color: #124922; --bs-btn-border-color: #F06E1A;
  --bs-btn-hover-color: #124922; --bs-btn-hover-bg: #FBAA13; --bs-btn-hover-border-color: #FBAA13;
  --bs-btn-active-color: #124922; --bs-btn-active-bg: #E69A06; --bs-btn-active-border-color: #E69A06;
  --bs-btn-focus-shadow-rgb: 251, 170, 19;
}
.form-control:focus, .form-select:focus { border-color: #124922; box-shadow: 0 0 0 .25rem rgba(18, 73, 34, .2); }
.form-check-input:checked { background-color: #124922; border-color: #124922; }
.form-check-input:focus { border-color: #124922; box-shadow: 0 0 0 .25rem rgba(18, 73, 34, .2); }
.nav-pills { --bs-nav-pills-link-active-bg: #124922; }
.page-link { color: #124922; }
.page-item.active .page-link { background-color: #124922; border-color: #124922; }
.card { border-color: var(--rcg-line); }
.card-header { background: #fff; font-weight: 600; }
.accordion { --bs-accordion-active-bg: #EBF3EE; --bs-accordion-active-color: #124922; --bs-accordion-btn-focus-box-shadow: 0 0 0 .25rem rgba(18,73,34,.2); }

/* Status badges */
.rcg-badge { display: inline-block; padding: .2em .6em; border-radius: 2rem; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.rcg-badge-review    { background: var(--rcg-amber-bg); color: var(--rcg-amber); }
.rcg-badge-reviewed  { background: var(--rcg-blue-bg);  color: var(--rcg-blue); }
.rcg-badge-processed { background: var(--rcg-green-100); color: var(--rcg-green); }
.rcg-badge-contractor { background: var(--rcg-orange-100); color: var(--rcg-green); }
.rcg-badge-merged { background: var(--rcg-orange-100); color: var(--rcg-green); }
.rcg-badge-duplicate { background: #E9ECEA; color: var(--rcg-slate-500); text-decoration: line-through; }

/* Letterhead rule: Dk Green over Orange, as on the River City Grain letterhead */
.rcg-rule { height: 7px; background: linear-gradient(to bottom, var(--rcg-green) 0 4px, var(--rcg-orange) 4px 7px); }

/* Density: base text is 0.925rem, so components are tightened to match */
.card { --bs-card-spacer-y: .85rem; --bs-card-spacer-x: 1rem; --bs-card-cap-padding-y: .6rem; --bs-card-cap-padding-x: 1rem; }
.btn { --bs-btn-padding-y: .35rem; --bs-btn-padding-x: .7rem; }
.btn-sm { --bs-btn-padding-y: .2rem; --bs-btn-padding-x: .5rem; }
.form-control, .form-select { padding: .35rem .65rem; }
.form-control-sm, .form-select-sm { padding: .2rem .5rem; }
.modal { --bs-modal-padding: 1rem; }
.list-group { --bs-list-group-item-padding-y: .5rem; --bs-list-group-item-padding-x: .9rem; }
.alert { --bs-alert-padding-y: .6rem; --bs-alert-padding-x: .9rem; --bs-alert-margin-bottom: .85rem; }
.breadcrumb { --bs-breadcrumb-margin-bottom: .5rem; }
.dropdown-menu { --bs-dropdown-item-padding-y: .3rem; --bs-dropdown-padding-y: .35rem; }
