:root {
  --ariba-accent:#0f6cbd;
  --ariba-topbar:#0d1b2a;
  --ariba-sidebar:#132238;
  --ariba-card:#ffffff;
  --ariba-body:#f5f7fb;
  --ariba-text:#1f2937;
  --ariba-border:#d9e2ec;
  --ariba-success:#107c41;
  --ariba-warning:#ffb900;
  --ariba-danger:#d13438;
  --ariba-radius:14px;
  --ariba-max-width:1600px;
}
body, #wrapper, .content { background: var(--ariba-body) !important; color: var(--ariba-text); }
body.admin { font-feature-settings:"tnum" 1; }
#side-menu, .navbar-static-side { background: var(--ariba-sidebar) !important; box-shadow: inset -1px 0 0 rgba(255,255,255,.05); }
#side-menu li a, .navbar-default .nav > li > a { color: rgba(255,255,255,.88) !important; }
#side-menu li.active > a, #side-menu li a:hover { background: rgba(255,255,255,.09) !important; border-left: 3px solid var(--ariba-accent); }
.navbar-static-top, .navbar.navbar-default.navbar-static-top { background: linear-gradient(90deg, var(--ariba-topbar), color-mix(in srgb, var(--ariba-topbar) 78%, white 22%)) !important; border-bottom: 1px solid rgba(255,255,255,.06); }
.navbar .navbar-minimalize, .navbar .header-link, .navbar .dropdown a { color:#fff !important; }
#wrapper > .content, .content { max-width: var(--ariba-max-width); margin-inline:auto; }
.panel_s, .widget, .card, .tw-bg-white, .table-responsive, .alert { border-radius: var(--ariba-radius) !important; overflow: hidden; }
.panel_s, .widget, .card, .table-responsive, .white-box { box-shadow: 0 10px 28px rgba(13,27,42,.06) !important; border:1px solid var(--ariba-border) !important; background: var(--ariba-card) !important; }
.btn-primary, .btn-info { background: var(--ariba-accent) !important; border-color: var(--ariba-accent) !important; }
.btn-success { background: var(--ariba-success) !important; border-color: var(--ariba-success) !important; }
.btn-warning { background: var(--ariba-warning) !important; border-color: var(--ariba-warning) !important; color:#222 !important; }
.btn-danger { background: var(--ariba-danger) !important; border-color: var(--ariba-danger) !important; }
.form-control, .selectpicker, .bootstrap-select .dropdown-toggle { border-radius: calc(var(--ariba-radius) - 6px) !important; border-color: var(--ariba-border) !important; min-height: 40px; }
.table > thead > tr > th { background:#f8fafc; border-bottom:1px solid var(--ariba-border) !important; text-transform:uppercase; letter-spacing:.04em; font-size:11px; }
.table > tbody > tr > td { vertical-align: middle !important; }
body.ariba-dense .table > thead > tr > th, body.ariba-dense .table > tbody > tr > td { padding-top:8px !important; padding-bottom:8px !important; }
.ariba-kpi-strip, .ariba-quick-actions, .ariba-page-banner { display:grid; gap:14px; margin: 0 0 16px 0; }
.ariba-kpi-strip { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.ariba-kpi-card, .ariba-action-card, .ariba-page-banner { background: var(--ariba-card); border:1px solid var(--ariba-border); border-radius: var(--ariba-radius); padding: 16px; box-shadow: 0 10px 28px rgba(13,27,42,.05); }
.ariba-kpi-label { font-size:11px; text-transform:uppercase; letter-spacing:.06em; opacity:.75; }
.ariba-kpi-value { font-size:28px; line-height:1.15; font-weight:700; margin-top:6px; }
.ariba-kpi-meta { font-size:12px; margin-top:6px; opacity:.7; }
.ariba-quick-actions { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.ariba-action-card a { display:flex; align-items:center; justify-content:space-between; text-decoration:none !important; color:inherit !important; }
.ariba-action-title { font-size:15px; font-weight:600; }
.ariba-action-sub { font-size:12px; opacity:.7; margin-top:4px; }
.ariba-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 10px; border-radius:999px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.ariba-badge.success { background: color-mix(in srgb, var(--ariba-success) 14%, white); color: var(--ariba-success); }
.ariba-badge.warning { background: color-mix(in srgb, var(--ariba-warning) 18%, white); color: #775400; }
.ariba-badge.danger { background: color-mix(in srgb, var(--ariba-danger) 12%, white); color: var(--ariba-danger); }
.ariba-page-banner { grid-template-columns: 1fr auto; align-items:center; }
.ariba-page-banner h3 { margin:0; font-size:20px; }
.ariba-page-banner p { margin:6px 0 0; opacity:.74; }
body.ariba-compact #side-menu > li > a { padding-top: 10px !important; padding-bottom: 10px !important; }
body.ariba-shell-search .navbar .search-form, body.ariba-shell-search .navbar-form { max-width:420px; }
body.ariba-shell-search .navbar input[type="search"], body.ariba-shell-search .navbar .form-control { border-radius:999px !important; background:rgba(255,255,255,.92) !important; border:none !important; box-shadow:none !important; }
.ariba-rfq-page .panel_s > .panel-body:first-child,
.ariba-po-page .panel_s > .panel-body:first-child,
.ariba-contract-page .panel_s > .panel-body:first-child,
.ariba-supplier-page .panel_s > .panel-body:first-child { position:relative; }
.ariba-rfq-page .panel_s > .panel-body:first-child::before,
.ariba-po-page .panel_s > .panel-body:first-child::before,
.ariba-contract-page .panel_s > .panel-body:first-child::before,
.ariba-supplier-page .panel_s > .panel-body:first-child::before { content:""; display:block; height:4px; background:linear-gradient(90deg,var(--ariba-accent), color-mix(in srgb, var(--ariba-accent) 40%, white)); margin:-15px -15px 15px; }
body.ariba-vendor-public,
body.ariba-funder-public { background: var(--ariba-body) !important; color: var(--ariba-text); }
.ariba-vendor-public .vp-wrap,
.ariba-funder-public .ofp-shell { max-width: min(var(--ariba-max-width), 1240px); }
.ariba-vendor-public .vp-hero,
.ariba-funder-public .ofp-hero {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--ariba-topbar) 84%, black), color-mix(in srgb, var(--ariba-accent) 72%, white))
    !important;
  border: 1px solid color-mix(in srgb, var(--ariba-accent) 16%, white);
  box-shadow: 0 18px 38px rgba(13,27,42,.18);
}
.ariba-vendor-public .vp-card,
.ariba-funder-public .ofp-card,
.ariba-funder-public .ofp-hero {
  border: 1px solid var(--ariba-border);
  border-radius: var(--ariba-radius);
  box-shadow: 0 16px 34px rgba(13,27,42,.08);
}
.ariba-vendor-public .vp-btn,
.ariba-funder-public .ofp-btn {
  background: var(--ariba-accent) !important;
  border-color: var(--ariba-accent) !important;
  color: #fff !important;
}
.ariba-vendor-public .vp-btn.alt,
.ariba-funder-public .ofp-btn.secondary {
  background: color-mix(in srgb, var(--ariba-accent) 12%, white) !important;
  color: var(--ariba-text) !important;
}
.ariba-vendor-public .vp-nav .vp-btn,
.ariba-funder-public .ofp-nav a {
  box-shadow: 0 6px 18px rgba(13,27,42,.08);
}
.ariba-funder-public .ofp-nav a {
  display: inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ariba-border);
  color: var(--ariba-text);
}
.ariba-vendor-public .vp-kicker,
.ariba-funder-public .ofp-kicker,
.ariba-vendor-public .vp-inline-link,
.ariba-funder-public .ofp-nav a:hover {
  color: var(--ariba-accent) !important;
}
