/* TenderRadar UI-V2-R1 — blue enterprise design tokens. */
.portal-dashboard-page,
.auth-page {
  --tr-v2-primary: #2563eb;
  --tr-v2-primary-hover: #1d4ed8;
  --tr-v2-primary-pressed: #1e40af;
  --tr-v2-primary-soft: #eff6ff;
  --tr-v2-primary-border: #bfdbfe;
  --tr-v2-sidebar: #071b45;
  --tr-v2-sidebar-deep: #051434;
  --tr-v2-sidebar-hover: #0c2d68;
  --tr-v2-sidebar-active: #1f5fd5;
  --tr-v2-bg: #f4f7fb;
  --tr-v2-surface: #ffffff;
  --tr-v2-surface-subtle: #f8fafc;
  --tr-v2-border: #e2e8f0;
  --tr-v2-border-strong: #cbd5e1;
  --tr-v2-text: #0f172a;
  --tr-v2-text-secondary: #475569;
  --tr-v2-text-muted: #94a3b8;
  --tr-v2-success: #059669;
  --tr-v2-warning: #d97706;
  --tr-v2-danger: #dc2626;
  --tr-v2-radius: 8px;
  --tr-v2-radius-lg: 11px;
  --tr-v2-shadow: 0 1px 2px rgba(15,23,42,.035), 0 8px 24px -22px rgba(15,23,42,.26);
}
/* TenderRadar UI-V2-R1 — page foundation. */
.portal-dashboard-page {
  margin: 0;
  color: var(--tr-v2-text);
  background: var(--tr-v2-bg) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.portal-dashboard-page .app-shell {
  min-height: 100vh;
  display: grid !important;
  grid-template-columns: 224px minmax(0,1fr) !important;
  background: var(--tr-v2-bg) !important;
}
.portal-dashboard-page .main-content {
  min-width: 0;
  padding: 0 22px 28px !important;
  background: var(--tr-v2-bg) !important;
}
.portal-dashboard-page h1,
.portal-dashboard-page h2,
.portal-dashboard-page h3,
.auth-page h1,
.auth-page h2 {
  color: var(--tr-v2-text);
  font-family: Inter, system-ui, sans-serif;
  letter-spacing: -.025em;
}
.portal-dashboard-page button,
.portal-dashboard-page input,
.portal-dashboard-page select,
.auth-page button,
.auth-page input {
  font-family: Inter, system-ui, sans-serif;
}
.portal-dashboard-page :focus-visible,
.auth-page :focus-visible {
  outline: 2px solid rgba(37,99,235,.55);
  outline-offset: 2px;
}
.portal-dashboard-page ::selection,
.auth-page ::selection {
  background: #dbeafe;
  color: #172554;
}
/* TenderRadar UI-V2-R1 — dark navy application navigation. */
.portal-dashboard-page .sidebar {
  position: sticky !important;
  top: 0;
  align-self: start;
  width: 224px !important;
  height: 100vh;
  min-height: 100vh;
  box-sizing: border-box;
  padding: 15px 12px 14px !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  border: 0 !important;
  border-right: 1px solid rgba(255,255,255,.08) !important;
  background: linear-gradient(180deg,#082155 0%,var(--tr-v2-sidebar) 46%,var(--tr-v2-sidebar-deep) 100%) !important;
  box-shadow: none !important;
  color: #fff;
}
.portal-dashboard-page .brand {
  min-height: 52px;
  margin: 0 0 12px !important;
  padding: 8px 8px 13px !important;
  gap: 10px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  background: transparent !important;
}
.portal-dashboard-page .brand-icon {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(147,197,253,.42) !important;
  border-radius: 8px !important;
  background: rgba(37,99,235,.24) !important;
  color: #dbeafe !important;
}
.portal-dashboard-page .brand strong {
  color: #fff !important;
  font: 700 14px/1.15 Inter,sans-serif !important;
  letter-spacing: -.015em !important;
}
.portal-dashboard-page .brand span {
  margin-top: 3px;
  color: #94a3b8 !important;
  font: 500 8px/1.2 Inter,sans-serif !important;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}

.portal-dashboard-page .ui-v2-primary-nav {
  display: grid;
  gap: 3px;
  margin: 1px 0 12px;
  padding: 0 2px 12px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.portal-dashboard-page .ui-v2-primary-nav::before {
  content: "WORKSPACE";
  margin: 2px 8px 6px;
  color: #6f86ae;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .13em;
}
.portal-dashboard-page .ui-v2-primary-link {
  min-height: 34px;
  display: grid;
  grid-template-columns: 16px minmax(0,1fr);
  align-items: center;
  gap: 9px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #cbd5e1;
  font-size: 10px;
  font-weight: 600;
  text-decoration: none;
}
.portal-dashboard-page .ui-v2-primary-link::before {
  content: attr(data-v2-icon);
  width: 15px;
  color: #93c5fd;
  text-align: center;
  font-size: 11px;
}
.portal-dashboard-page .ui-v2-primary-link::after {
  content: attr(data-v2-label);
}
.portal-dashboard-page .ui-v2-primary-link:hover {
  border-color: rgba(147,197,253,.12);
  background: rgba(37,99,235,.16);
  color: #fff;
}
.portal-dashboard-page .ui-v2-primary-link.is-active {
  border-color: rgba(96,165,250,.26);
  background: linear-gradient(90deg,#1e5ed3,#1d4ed8);
  color: #fff;
}
.portal-dashboard-page .ui-v2-primary-link.is-active::before { color: #fff; }

.portal-dashboard-page .market-nav {
  min-height: 0;
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0 2px 8px !important;
  overflow: auto;
  border: 0 !important;
  background: transparent !important;
}
.portal-dashboard-page .nav-label {
  margin: 2px 8px 7px !important;
  color: #6f86ae !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: .13em !important;
  text-transform: uppercase;
}
.portal-dashboard-page .country-list { display: grid !important; gap: 3px !important; }
.portal-dashboard-page .market-nav button,
.portal-dashboard-page .country-list button {
  min-height: 32px !important;
  border: 1px solid transparent !important;
  border-radius: 7px !important;
  background: transparent !important;
  color: #cbd5e1 !important;
  font-size: 9.5px !important;
}
.portal-dashboard-page .market-nav button:hover,
.portal-dashboard-page .country-list button:hover {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
}
.portal-dashboard-page .market-nav button.active,
.portal-dashboard-page .country-list button.active,
.portal-dashboard-page .market-nav button[aria-pressed="true"] {
  border-color: rgba(96,165,250,.24) !important;
  background: rgba(37,99,235,.22) !important;
  color: #fff !important;
}
.portal-dashboard-page .service-status {
  margin: 8px 2px 0 !important;
  padding: 9px 8px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,.035) !important;
}
.portal-dashboard-page .service-status strong { color: #e2e8f0 !important; font-size: 9px !important; }
.portal-dashboard-page .service-status span { color: #7f93b6 !important; font-size: 8px !important; }
.portal-dashboard-page .portal-auth-user-panel {
  margin: 8px 2px 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 9px !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: none !important;
}
.portal-dashboard-page .portal-auth-user-panel::before { display: none !important; }
.portal-dashboard-page .portal-auth-user-toggle {
  min-height: 48px !important;
  padding: 8px 9px !important;
  color: #fff !important;
}
.portal-dashboard-page .portal-auth-user-copy > span,
.portal-dashboard-page .portal-auth-user-copy small { color: #7f93b6 !important; }
.portal-dashboard-page .portal-auth-user-copy strong { color: #fff !important; }
.portal-dashboard-page .portal-auth-user-actions {
  border-color: rgba(255,255,255,.08) !important;
  background: #071a41 !important;
}
.portal-dashboard-page .portal-auth-action-label { color: #7690bd !important; }
.portal-dashboard-page .portal-auth-user-actions a,
.portal-dashboard-page .portal-auth-user-actions button {
  border-color: rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.035) !important;
  color: #dbeafe !important;
}
.portal-dashboard-page .portal-auth-user-actions a:hover,
.portal-dashboard-page .portal-auth-user-actions button:hover {
  background: rgba(37,99,235,.2) !important;
  color: #fff !important;
}
/* TenderRadar UI-V2-R1 — compact white top utility/header. */
.portal-dashboard-page .hero {
  position: relative !important;
  min-height: 76px !important;
  margin: 0 -22px 16px !important;
  padding: 13px 96px 12px 22px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--tr-v2-border) !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 1px 0 rgba(15,23,42,.018) !important;
}
.portal-dashboard-page .hero::before,
.portal-dashboard-page .hero::after { display: none !important; }
.portal-dashboard-page .hero > div {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(300px,.9fr) minmax(340px,1.1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 28px !important;
  row-gap: 5px !important;
  align-items: center !important;
}
.portal-dashboard-page .hero .eyebrow {
  grid-column: 1 !important;
  grid-row: 1 !important;
  margin: 0 0 2px !important;
  color: var(--tr-v2-primary) !important;
  font-size: 7.5px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
}
.portal-dashboard-page .hero h1 {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  max-width: none !important;
  color: var(--tr-v2-text) !important;
  font-size: clamp(17px,1.6vw,22px) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  letter-spacing: -.03em !important;
}
.portal-dashboard-page .hero > div > p { display: none !important; }
.portal-dashboard-page .portal-global-search {
  position: relative !important;
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  justify-self: end !important;
  width: min(620px,100%) !important;
  max-width: 620px !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 7px !important;
}
/* The SVG magnifying-glass icon (rendered by the JS that builds this
   search form - see makeSearch() in 00-global-topbar.js) already
   provides the search icon visually. This ::before rule pre-dates that
   SVG icon and was never removed once it was added, so it was
   rendering a second, overlapping search glyph (the Unicode "⌕"
   character) directly on top of the SVG one - only visible on pages
   using this shared topbar (e.g. Tenders), since the Dashboard page's
   own, separate search form implementation never had this class
   combination to begin with. Removed as dead, redundant markup rather
   than left in place. */
.portal-dashboard-page .portal-global-search input {
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 12px 0 34px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--tr-v2-text) !important;
  font-size: 10px !important;
  box-shadow: inset 0 1px 0 rgba(15,23,42,.015) !important;
}
.portal-dashboard-page .portal-global-search input::placeholder { color: #94a3b8 !important; }
.portal-dashboard-page .portal-global-search input:focus {
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.08) !important;
}
.portal-dashboard-page .portal-global-search button {
  min-width: 72px !important;
  min-height: 36px !important;
  height: 36px !important;
  padding: 0 13px !important;
  border: 1px solid var(--tr-v2-primary) !important;
  border-radius: 7px !important;
  background: var(--tr-v2-primary) !important;
  color: #fff !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
.portal-dashboard-page .portal-global-search button:hover {
  border-color: var(--tr-v2-primary-hover) !important;
  background: var(--tr-v2-primary-hover) !important;
}
.portal-dashboard-page .hero-meta { display: none !important; }
.portal-dashboard-page .portal-notification-center {
  position: fixed !important;
  top: 14px !important;
  right: 16px !important;
  z-index: 50 !important;
}
.portal-dashboard-page .portal-notification-toggle {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: var(--tr-v2-shadow) !important;
}
.portal-dashboard-page .portal-notification-toggle:hover {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: var(--tr-v2-primary) !important;
}
/* TenderRadar UI-V2-R1 — shared controls and states. */
.portal-dashboard-page .text-button,
.portal-dashboard-page .attention-refresh,
.portal-dashboard-page .attention-toggle,
.portal-dashboard-page .attention-priority-reset,
.portal-dashboard-page .pagination button,
.portal-dashboard-page #empty-clear-button {
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: #334155 !important;
  box-shadow: none !important;
  font-weight: 650 !important;
}
.portal-dashboard-page .text-button:hover,
.portal-dashboard-page .attention-refresh:hover,
.portal-dashboard-page .attention-toggle:hover,
.portal-dashboard-page .attention-priority-reset:hover,
.portal-dashboard-page .pagination button:hover,
.portal-dashboard-page #empty-clear-button:hover {
  border-color: #93c5fd !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}
.portal-dashboard-page input,
.portal-dashboard-page select {
  border-color: var(--tr-v2-border) !important;
  background: #fff !important;
  color: var(--tr-v2-text) !important;
}
.portal-dashboard-page input:focus,
.portal-dashboard-page select:focus {
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.075) !important;
}
.portal-dashboard-page .source-badge,
.portal-dashboard-page .country-badge,
.portal-dashboard-page .decision-badge,
.portal-dashboard-page .site-visit-badge,
.portal-dashboard-page .amendment-badge,
.portal-dashboard-page .global-stat-filter-chip {
  border: 1px solid var(--tr-v2-border) !important;
  background: #f8fafc !important;
  color: #475569 !important;
}
.portal-dashboard-page .warning {
  border: 1px solid #fde68a !important;
  border-radius: 8px !important;
  background: #fffbeb !important;
  color: #92400e !important;
  box-shadow: none !important;
}
/* TenderRadar UI-V2-R1 — blue secure-access screen. */
.auth-page {
  min-height: 100vh;
  margin: 0;
  display: grid;
  place-items: center;
  padding: 28px;
  box-sizing: border-box;
  background:
    radial-gradient(circle at 15% 82%,rgba(96,165,250,.28),transparent 24%),
    radial-gradient(circle at 78% 30%,rgba(59,130,246,.20),transparent 22%),
    linear-gradient(135deg,#0b2554 0%,#1c4d91 42%,#7aa7d6 100%) !important;
}
.auth-page::before,
.auth-page::after { content: ""; position: fixed; pointer-events: none; }
.auth-page::before {
  left: 0; right: 0; bottom: 0; height: 36%;
  opacity: .32;
  background: linear-gradient(90deg,
    transparent 0 4%,rgba(4,17,42,.64) 4% 8%,transparent 8% 11%,
    rgba(4,17,42,.78) 11% 17%,transparent 17% 21%,rgba(4,17,42,.54) 21% 25%,
    transparent 25% 31%,rgba(4,17,42,.72) 31% 38%,transparent 38% 44%,
    rgba(4,17,42,.62) 44% 49%,transparent 49% 56%,rgba(4,17,42,.72) 56% 62%,
    transparent 62% 69%,rgba(4,17,42,.55) 69% 75%,transparent 75% 82%,
    rgba(4,17,42,.68) 82% 90%,transparent 90% 100%);
  clip-path: polygon(0 46%,7% 41%,7% 25%,11% 25%,11% 57%,17% 52%,17% 34%,20% 34%,20% 67%,28% 60%,28% 40%,33% 40%,33% 72%,40% 63%,40% 50%,46% 50%,46% 75%,53% 69%,53% 37%,59% 37%,59% 76%,67% 68%,67% 48%,73% 48%,73% 73%,82% 64%,82% 30%,88% 30%,88% 67%,94% 57%,94% 44%,100% 44%,100% 100%,0 100%);
}
.auth-page::after { inset: 0; background: linear-gradient(180deg,rgba(3,12,30,.03),rgba(3,12,30,.22)); }
.auth-page > .auth-shell {
  position: relative;
  z-index: 1;
  width: min(480px,calc(100vw - 36px)) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden;
  border: 1px solid rgba(226,232,240,.9) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.975) !important;
  box-shadow: 0 22px 55px -30px rgba(2,6,23,.62),0 2px 8px rgba(2,6,23,.08) !important;
}
.auth-page .auth-brand-panel {
  min-height: 0 !important;
  padding: 40px 44px 22px !important;
  display: grid !important;
  justify-items: center;
  text-align: center;
  border: 0 !important;
  background: #fff !important;
}
.auth-page .auth-brand-panel::before,
.auth-page .auth-brand-panel::after { display: none !important; }
.auth-page .auth-brand-mark {
  width: 52px !important;
  height: 52px !important;
  margin: 0 0 16px !important;
  border: 1px solid #bfdbfe !important;
  border-radius: 12px !important;
  background: #eff6ff !important;
  color: var(--tr-v2-primary) !important;
  font-size: 22px !important;
}
.auth-page .auth-brand-panel .auth-eyebrow {
  order: 3;
  margin: 8px 0 0 !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
  letter-spacing: .09em !important;
}
.auth-page .auth-brand-panel h1 {
  margin: 0 !important;
  max-width: 100% !important;
  color: #0f172a !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
}
.auth-page .auth-brand-copy { display: none !important; }
.auth-page > .auth-shell > .auth-card {
  width: auto !important;
  max-width: none !important;
  padding: 28px 44px 40px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.auth-page > .auth-shell > .auth-card .auth-card-header {
  margin: 0 0 26px !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: center;
}
.auth-page > .auth-shell > .auth-card .auth-card-kicker { display: none !important; }
.auth-page > .auth-shell > .auth-card h2 {
  margin: 0 0 8px !important;
  color: #0f172a !important;
  font-size: 28px !important;
  font-weight: 700 !important;
}
.auth-page > .auth-shell > .auth-card .auth-card-header p {
  color: #64748b !important;
  font-size: 14.5px !important;
}
.auth-page > .auth-shell > .auth-card .auth-form { gap: 18px !important; }
.auth-page > .auth-shell > .auth-card .auth-form label {
  gap: 7px !important;
  color: #334155 !important;
  font-size: 13px !important;
}
.auth-page > .auth-shell > .auth-card .auth-form input[type="text"],
.auth-page > .auth-shell > .auth-card .auth-form input[type="password"] {
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid #dbe2ea !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #0f172a !important;
  font-size: 15px !important;
}
.auth-page > .auth-shell > .auth-card .auth-form input:focus {
  border-color: #93c5fd !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,.08) !important;
}
.auth-page > .auth-shell > .auth-card .auth-form button {
  min-height: 50px !important;
  margin-top: 6px !important;
  border: 1px solid var(--tr-v2-primary) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg,#2f6fed,#2563eb) !important;
  color: #fff !important;
  font-size: 15.5px !important;
  font-weight: 700 !important;
}
.auth-page > .auth-shell > .auth-card .auth-form button:hover {
  border-color: var(--tr-v2-primary-hover) !important;
  background: var(--tr-v2-primary-hover) !important;
}
.auth-page > .auth-shell > .auth-card .auth-help {
  margin: 24px 0 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid #edf1f5 !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
  text-align: center;
}
.auth-page > .auth-shell > .auth-card .auth-message {
  border-color: #fecaca !important;
  background: #fef2f2 !important;
  color: #b91c1c !important;
}
/* TenderRadar UI-V2-R1 — dashboard cards. */
.portal-dashboard-page .stats-grid {
  margin: 0 0 14px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 10px !important;
  border: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.portal-dashboard-page .stat-card {
  min-height: 88px !important;
  padding: 14px 15px !important;
  gap: 11px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: var(--tr-v2-radius-lg) !important;
  background: #fff !important;
  box-shadow: var(--tr-v2-shadow) !important;
}
.portal-dashboard-page .stat-card:nth-child(3) { background: #fff !important; }
.portal-dashboard-page .stat-card:hover {
  transform: translateY(-1px) !important;
  border-color: #cbdcf7 !important;
  background: #fff !important;
}
.portal-dashboard-page .stat-card .stat-symbol {
  width: 29px !important;
  height: 29px !important;
  display: grid !important;
  place-items: center;
  border: 1px solid #dbeafe !important;
  border-radius: 8px !important;
  background: #eff6ff !important;
  color: var(--tr-v2-primary) !important;
  font-size: 14px !important;
}
.portal-dashboard-page .stat-card:nth-child(2) .stat-symbol {
  border-color: #d1fae5 !important; background: #ecfdf5 !important; color: #059669 !important;
}
.portal-dashboard-page .stat-card:nth-child(3) .stat-symbol {
  border-color: #fde68a !important; background: #fffbeb !important; color: #d97706 !important;
}
.portal-dashboard-page .stat-card:nth-child(4) .stat-symbol {
  border-color: #e9d5ff !important; background: #faf5ff !important; color: #7c3aed !important;
}
.portal-dashboard-page .stat-card small {
  margin: 0 0 5px !important;
  color: #64748b !important;
  font-size: 8px !important;
  font-weight: 700 !important;
}
.portal-dashboard-page .stat-card strong {
  color: #0f172a !important;
  font-size: 22px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
}
.portal-dashboard-page .stat-card-action-hint {
  margin-top: 6px !important;
  color: #94a3b8 !important;
  font-size: 7.5px !important;
}
.portal-dashboard-page .attention-dashboard {
  margin: 0 0 14px !important;
  overflow: hidden;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: var(--tr-v2-radius-lg) !important;
  background: #fff !important;
  box-shadow: var(--tr-v2-shadow) !important;
}
.portal-dashboard-page .attention-heading {
  min-height: 58px !important;
  padding: 13px 15px !important;
  border-bottom: 1px solid var(--tr-v2-border) !important;
  background: #fff !important;
}
.portal-dashboard-page .attention-heading .eyebrow {
  color: var(--tr-v2-primary) !important;
  font-size: 7px !important;
}
.portal-dashboard-page .attention-heading h2 {
  margin-top: 2px !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.portal-dashboard-page .attention-heading p {
  margin-top: 4px !important;
  color: #64748b !important;
  font-size: 9px !important;
}
.portal-dashboard-page .work-summary-grid {
  padding: 11px 12px !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 9px !important;
  border-bottom: 1px solid var(--tr-v2-border) !important;
  background: #f8fafc !important;
}
.portal-dashboard-page .work-summary-card {
  min-height: 72px !important;
  padding: 12px 12px 11px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.portal-dashboard-page .work-summary-card:hover,
.portal-dashboard-page .work-summary-card.is-active {
  border-color: #93c5fd !important;
  background: #f8fbff !important;
}
.portal-dashboard-page .work-summary-card small { color: #64748b !important; font-size: 8px !important; }
.portal-dashboard-page .work-summary-card strong { color: #0f172a !important; font-size: 21px !important; font-weight: 750 !important; }
.portal-dashboard-page .attention-toolbar {
  min-height: 39px !important;
  padding: 8px 14px !important;
  border-bottom: 1px solid var(--tr-v2-border) !important;
  background: #fff !important;
}
.portal-dashboard-page .attention-item { border-color: #edf2f7 !important; background: #fff !important; }
.portal-dashboard-page .attention-item:hover { background: #f8fbff !important; }
.portal-dashboard-page .attention-empty {
  padding: 19px 15px !important;
  background: #fff !important;
  color: #94a3b8 !important;
  font-size: 9px !important;
}
/* TenderRadar UI-V2-R1 — tender listing and filters. */
.portal-dashboard-page .dashboard-tender-workspace {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.portal-dashboard-page .dashboard-tender-workspace .search-panel {
  margin: 0 0 11px !important;
  padding: 14px 15px 13px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: var(--tr-v2-radius-lg) !important;
  background: #fff !important;
  box-shadow: var(--tr-v2-shadow) !important;
}
.portal-dashboard-page .dashboard-tender-workspace .panel-heading { margin-bottom: 11px !important; }
.portal-dashboard-page .dashboard-tender-workspace .panel-heading h2 {
  color: #0f172a !important; font-size: 13px !important; font-weight: 700 !important;
}
.portal-dashboard-page .dashboard-tender-workspace .panel-heading p {
  color: #64748b !important; font-size: 8.5px !important;
}
.portal-dashboard-page .dashboard-tender-workspace .search-grid {
  grid-template-columns: minmax(270px,1.7fr) minmax(124px,.67fr) minmax(130px,.72fr) minmax(128px,.7fr) minmax(132px,.72fr) !important;
  gap: 8px !important;
}
.portal-dashboard-page .dashboard-tender-workspace .search-grid label > span {
  margin-bottom: 5px !important;
  color: #64748b !important;
  font-size: 7.5px !important;
  font-weight: 700 !important;
  letter-spacing: .055em !important;
  text-transform: none !important;
}
.portal-dashboard-page .dashboard-tender-workspace .search-grid input,
.portal-dashboard-page .dashboard-tender-workspace .search-grid select {
  min-height: 34px !important; height: 34px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 9px !important;
}
.portal-dashboard-page .global-stat-filter-row {
  min-height: 34px !important;
  margin: 0 0 9px !important;
  padding: 6px 8px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 7px !important;
  background: #f8fafc !important;
}
.portal-dashboard-page .results-section { padding: 0 !important; }
.portal-dashboard-page .view-tabs {
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 5px !important;
  gap: 4px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: var(--tr-v2-shadow) !important;
}
.portal-dashboard-page .view-tab {
  min-height: 38px !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #64748b !important;
  font-size: 8.5px !important;
  font-weight: 650 !important;
}
.portal-dashboard-page .view-tab:hover { color: #1d4ed8 !important; background: #f8fbff !important; }
.portal-dashboard-page .view-tab.active {
  border-bottom-color: var(--tr-v2-primary) !important;
  background: transparent !important;
  color: var(--tr-v2-primary) !important;
  box-shadow: none !important;
}
.portal-dashboard-page .view-tab-count {
  min-width: 18px !important;
  margin-left: 4px !important;
  padding: 1px 4px !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  font-size: 7px !important;
}
.portal-dashboard-page .view-tab.active .view-tab-count {
  background: #dbeafe !important;
  color: #1d4ed8 !important;
}
.portal-dashboard-page .results-heading {
  min-height: 38px !important;
  margin: 0 !important;
  padding: 0 3px 9px !important;
  border-bottom: 0 !important;
}
.portal-dashboard-page .results-heading h2 { color: #0f172a !important; font-size: 12.5px !important; }
.portal-dashboard-page .results-subline { color: #94a3b8 !important; font-size: 8px !important; }
.portal-dashboard-page .tender-list { gap: 8px !important; }
.portal-dashboard-page .tender-card {
  position: relative;
  padding: 13px 14px 12px 17px !important;
  border: 1px solid var(--tr-v2-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: var(--tr-v2-shadow) !important;
}
.portal-dashboard-page .tender-card::before {
  width: 3px !important;
  border-radius: 8px 0 0 8px !important;
  background: var(--tr-v2-primary) !important;
}
.portal-dashboard-page .tender-card:hover {
  transform: none !important;
  border-color: #bfd4f5 !important;
  background: #fff !important;
}
.portal-dashboard-page .tender-title {
  max-width: 100% !important;
  color: #0f172a !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
}
.portal-dashboard-page .source-badge,
.portal-dashboard-page .country-badge,
.portal-dashboard-page .decision-badge,
.portal-dashboard-page .site-visit-badge,
.portal-dashboard-page .amendment-badge {
  padding: 2px 6px !important;
  border-radius: 999px !important;
  font-size: 7px !important;
}
.portal-dashboard-page .tender-link {
  min-height: 30px !important;
  padding: 0 9px !important;
  border-radius: 6px !important;
  font-size: 8px !important;
  font-weight: 650 !important;
}
.portal-dashboard-page .tender-workspace-link {
  border-color: var(--tr-v2-primary) !important;
  background: var(--tr-v2-primary) !important;
  color: #fff !important;
}
.portal-dashboard-page .tender-workspace-link:hover {
  border-color: var(--tr-v2-primary-hover) !important;
  background: var(--tr-v2-primary-hover) !important;
  color: #fff !important;
}
.portal-dashboard-page .tender-link:not(.tender-workspace-link) {
  border-color: var(--tr-v2-border) !important;
  background: #fff !important;
  color: #475569 !important;
}
.portal-dashboard-page .tender-link:not(.tender-workspace-link):hover {
  border-color: #bfdbfe !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
}
.portal-dashboard-page .tender-meta-grid {
  margin-top: 9px !important;
  padding-top: 9px !important;
  grid-template-columns: minmax(110px,.72fr) minmax(130px,.8fr) minmax(165px,1.08fr) minmax(120px,.75fr) minmax(130px,.82fr) minmax(105px,.68fr) !important;
  gap: 7px 12px !important;
  border-top: 1px solid #edf2f7 !important;
}
.portal-dashboard-page .tender-meta-label,
.portal-dashboard-page .tender-detail-label {
  color: #94a3b8 !important;
  font-size: 6.8px !important;
}
.portal-dashboard-page .tender-meta-value {
  color: #475569 !important;
  font-size: 8.5px !important;
  font-weight: 550 !important;
}
.portal-dashboard-page .tender-detail-section {
  margin-top: 9px !important;
  padding: 9px 10px !important;
  border: 1px solid #e7edf5 !important;
  border-radius: 7px !important;
  background: #f8fafc !important;
}
.portal-dashboard-page .tender-actions {
  margin-top: 9px !important;
  padding-top: 9px !important;
  border-top: 1px solid #edf2f7 !important;
}
.portal-dashboard-page .tender-action,
.portal-dashboard-page .tender-assignee-select {
  min-height: 29px !important;
  border-radius: 6px !important;
  font-size: 8px !important;
}
.portal-dashboard-page .tender-action[data-decision="pursue"] {
  border-color: #059669 !important;
  background: #059669 !important;
  color: #fff !important;
}
.portal-dashboard-page .tender-action[data-decision="pass"] {
  border-color: #fecaca !important;
  background: #fff !important;
  color: #b91c1c !important;
}
.portal-dashboard-page .empty-state {
  min-height: 170px !important;
  border-color: #cbd5e1 !important;
  border-radius: 8px !important;
  background: #fff !important;
}
/* TenderRadar UI-V2-R1 — responsive conversion. */
@media (max-width:1180px) {
  .portal-dashboard-page .app-shell { grid-template-columns:198px minmax(0,1fr) !important; }
  .portal-dashboard-page .sidebar { width:198px !important; }
  .portal-dashboard-page .main-content { padding-inline:18px !important; }
  .portal-dashboard-page .hero { margin-inline:-18px !important; padding-left:18px !important; }
  .portal-dashboard-page .dashboard-tender-workspace .search-grid {
    grid-template-columns:minmax(250px,1.4fr) repeat(2,minmax(125px,.7fr)) !important;
  }
  .portal-dashboard-page .tender-meta-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:900px) {
  .portal-dashboard-page .app-shell { display:block !important; }
  .portal-dashboard-page .sidebar {
    position:relative !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:10px 12px !important;
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:8px 14px !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.1) !important;
  }
  .portal-dashboard-page .brand { margin:0 !important; padding:3px 5px 7px !important; border:0 !important; }
  .portal-dashboard-page .ui-v2-primary-nav {
    align-self:center;
    grid-template-columns:repeat(6,max-content);
    overflow-x:auto;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    scrollbar-width:none;
  }
  .portal-dashboard-page .ui-v2-primary-nav::before { display:none; }
  .portal-dashboard-page .ui-v2-primary-link { min-height:31px; padding-inline:9px; white-space:nowrap; }
  .portal-dashboard-page .market-nav,
  .portal-dashboard-page .service-status,
  .portal-dashboard-page .portal-auth-user-panel { display:none !important; }
  .portal-dashboard-page .main-content { padding:0 15px 24px !important; }
  .portal-dashboard-page .hero { margin-inline:-15px !important; padding:12px 58px 12px 15px !important; }
  .portal-dashboard-page .hero > div {
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto auto !important;
    gap:6px !important;
  }
  .portal-dashboard-page .portal-global-search {
    grid-column:1 !important;
    grid-row:3 !important;
    justify-self:start !important;
    width:min(650px,100%) !important;
  }
  .portal-dashboard-page .stats-grid,
  .portal-dashboard-page .work-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .portal-dashboard-page .dashboard-tender-workspace .search-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .portal-dashboard-page .dashboard-tender-workspace .search-field { grid-column:1 / -1 !important; }
}
@media (max-width:640px) {
  .portal-dashboard-page .sidebar { display:block !important; }
  .portal-dashboard-page .brand { justify-content:center !important; }
  .portal-dashboard-page .ui-v2-primary-nav {
    margin-top:6px !important;
    grid-template-columns:repeat(6,minmax(max-content,1fr));
    justify-content:start;
  }
  .portal-dashboard-page .ui-v2-primary-link { justify-content:center; padding-inline:8px; }
  .portal-dashboard-page .main-content { padding-inline:10px !important; }
  .portal-dashboard-page .hero { margin-inline:-10px !important; padding:11px 50px 11px 10px !important; }
  .portal-dashboard-page .hero h1 { font-size:16px !important; }
  .portal-dashboard-page .portal-global-search { grid-template-columns:1fr !important; }
  .portal-dashboard-page .portal-global-search button { width:100% !important; }
  .portal-dashboard-page .stats-grid,
  .portal-dashboard-page .work-summary-grid {
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }
  .portal-dashboard-page .dashboard-tender-workspace .search-grid { grid-template-columns:1fr !important; }
  .portal-dashboard-page .dashboard-tender-workspace .search-field { grid-column:auto !important; }
  .portal-dashboard-page .tender-card-top { flex-direction:column !important; gap:9px !important; }
  .portal-dashboard-page .tender-card-links { width:100% !important; }
  .portal-dashboard-page .tender-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .auth-page { padding:14px; }
  .auth-page > .auth-shell { width:min(390px,calc(100vw - 20px)) !important; }
}
@media (max-width:420px) {
  .portal-dashboard-page .stats-grid,
  .portal-dashboard-page .work-summary-grid,
  .portal-dashboard-page .tender-meta-grid { grid-template-columns:1fr !important; }
  .portal-dashboard-page .ui-v2-primary-link { font-size:9px; }
  .auth-page .auth-brand-panel,
  .auth-page > .auth-shell > .auth-card { padding-inline:25px !important; }
}
