/* GOC Tender — distinct from Contour: sidebar search, ink/emerald, Unbounded + Manrope */
:root {
  --ink: #0c1411;
  --panel: #13201b;
  --panel-2: #1a2c25;
  --surface: #eef3f0;
  --surface-2: #ffffff;
  --line: rgba(15, 35, 28, 0.12);
  --text: #14201b;
  --muted: #5a6b63;
  --accent: #0f9f76;
  --accent-deep: #0a7a5a;
  --gold: #d4a017;
  --danger: #c4473a;
  --warn: #c98a1a;
  --ok: #1a9a5c;
  --shadow: 0 18px 50px rgba(10, 24, 18, 0.12);
  --radius: 10px;
  --radius-sm: 8px;
  --font: "Manrope", system-ui, sans-serif;
  --display: "Unbounded", "Manrope", sans-serif;
  --max: 1680px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  color: var(--text);
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(15, 159, 118, 0.14), transparent 55%),
    radial-gradient(900px 400px at 100% 0%, rgba(212, 160, 23, 0.10), transparent 50%),
    linear-gradient(180deg, #f5f8f6 0%, var(--surface) 40%, #e8efe9 100%);
  min-height: 100vh;
  line-height: 1.5;
}
a { color: var(--accent-deep); text-decoration: none; }
a:hover { color: var(--accent); }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }

.container {
  width: min(100% - 1.5rem, var(--max));
  margin-inline: auto;
}
@media (min-width: 1100px) {
  .container { width: min(100% - 2rem, var(--max)); }
}
@media (min-width: 1600px) {
  .container { width: min(100% - 2.5rem, var(--max)); }
}

/* Рабочие экраны — почти на всю ширину монитора */
body.page-search .container,
body.page-templates .container,
body.page-favorites .container,
body.page-account .container {
  width: min(100% - 1.25rem, 1920px);
}
@media (min-width: 1400px) {
  body.page-search .container,
  body.page-templates .container,
  body.page-favorites .container,
  body.page-account .container {
    width: min(100% - 2rem, 1920px);
  }
}

.site-header {
  position: sticky; top: 0; z-index: 40;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: rgba(12, 20, 17, 0.88);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: background .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.site-header.is-scrolled {
  background: rgba(10, 16, 14, 0.78);
  border-bottom-color: rgba(255,255,255,0.08);
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.28);
}
.site-header.is-scrolled .header-inner { min-height: 54px; }
.header-inner {
  display: flex; align-items: center; gap: 1.25rem;
  min-height: 64px; position: relative;
  transition: min-height .25s ease;
}
.trial-band .section-title { color: #fff; }
.trial-band .section-lead { color: rgba(255,255,255,.75); }
.brand {
  display: flex; align-items: baseline; gap: .45rem;
  color: #fff; font-family: var(--display); font-weight: 600;
  letter-spacing: -0.02em; font-size: 1.15rem; white-space: nowrap;
}
.brand span { color: var(--accent); font-weight: 500; }
.nav {
  display: flex; align-items: center; gap: .2rem; flex: 1; flex-wrap: wrap;
}
.nav a {
  position: relative;
  color: rgba(255,255,255,.78); padding: .45rem .72rem; border-radius: var(--radius);
  font-size: .92rem; font-weight: 500;
  transition: color .22s ease, background .22s ease;
}
.nav a::after {
  content: ""; position: absolute; left: .72rem; right: .72rem; bottom: .2rem;
  height: 1.5px; border-radius: 2px;
  background: var(--accent);
  transform: scaleX(0); transform-origin: left center;
  transition: transform .25s ease; opacity: .95;
}
.nav a:hover { color: #fff; background: rgba(255,255,255,.06); }
.nav a:hover::after { transform: scaleX(1); }
.nav a.is-active {
  color: #fff; background: rgba(255,255,255,.06);
}
.nav a.is-active::after { transform: scaleX(1); }
/* Auth links live in header-actions on desktop; nav copies are mobile-only */
.nav-auth-link { display: none; }
.header-actions { display: flex; gap: .5rem; align-items: center; margin-left: auto; }
.header-phone {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  color: #fff; white-space: nowrap; font-variant-numeric: tabular-nums;
  font-size: .85rem; font-weight: 600; padding: .4rem .7rem;
  border-radius: var(--radius); border: 1px solid rgba(255,255,255,.2);
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.header-phone:hover { background: rgba(255,255,255,.08); color: #fff; }
.header-phone-icon { display: none; flex-shrink: 0; }
.header-tg {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.15rem; height: 2.15rem; border-radius: 50%;
  color: #fff; background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.header-tg:hover { background: #2AABEE; color: #fff; border-color: #2AABEE; }

.btn-app {
  background: rgba(255,255,255,.1);
  color: #fff;
  border-color: rgba(255,255,255,.28);
  font-weight: 650;
  padding: .45rem .85rem;
}
.btn-app:hover {
  background: var(--accent);
  color: #06261c;
  border-color: var(--accent);
  box-shadow: 0 8px 22px rgba(15, 159, 118, .28);
}
a.btn-app.btn-block,
.tender-cta .btn-app {
  background: #0f3d2e;
  color: #e8fff6;
  border-color: #0f3d2e;
}
a.btn-app.btn-block:hover,
.tender-cta .btn-app:hover {
  background: var(--accent);
  color: #06261c;
  border-color: var(--accent);
}
.chip-link-app {
  border-color: rgba(15,159,118,.45);
  background: rgba(15,159,118,.1);
  font-weight: 650;
}

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  border: 1px solid transparent; border-radius: var(--radius);
  padding: .65rem 1.1rem; font-weight: 600; cursor: pointer;
  transition:
    transform .22s ease,
    background .22s ease,
    border-color .22s ease,
    color .22s ease,
    box-shadow .22s ease,
    filter .22s ease;
  will-change: transform;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(1px); }
.btn:focus-visible {
  outline: 2px solid rgba(15, 159, 118, .55);
  outline-offset: 2px;
}
.btn:disabled, .btn[aria-disabled="true"] {
  opacity: .48; cursor: not-allowed; transform: none; box-shadow: none; filter: none;
  pointer-events: none;
}
.btn-primary {
  background: var(--accent); color: #06261c;
  box-shadow: 0 0 0 0 rgba(15, 159, 118, 0);
}
.btn-primary:hover {
  background: #14b886; color: #06261c;
  box-shadow: 0 8px 24px rgba(15, 159, 118, .28);
  filter: brightness(1.04);
}
.btn-ghost {
  background: transparent; color: #fff; border-color: rgba(255,255,255,.2);
}
.btn-ghost:hover {
  background: rgba(255,255,255,.08); color: #fff;
  border-color: rgba(255,255,255,.34);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.btn-outline {
  background: transparent; color: var(--text); border-color: var(--line);
}
.btn-outline:hover {
  border-color: var(--accent); color: var(--accent-deep);
  box-shadow: 0 6px 18px rgba(15, 159, 118, .12);
}
.btn-dark { background: var(--ink); color: #fff; }
.btn-dark:hover { background: var(--panel); color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,.2); }
.btn-sm { padding: .4rem .7rem; font-size: .85rem; }
.btn-lg { padding: .85rem 1.35rem; font-size: 1rem; }
.btn-block { width: 100%; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.hp-wrap {
  position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden;
}
.nav-toggle {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  background: transparent; border: 0; padding: .45rem; margin: 0; cursor: pointer;
  flex-shrink: 0;
}
.nav-toggle span { display: block; width: 22px; height: 2px; background: #fff; border-radius: 2px; }
.nav-drop { position: relative; }
.nav-drop-btn {
  background: transparent; border: 0; color: rgba(255,255,255,.78);
  padding: .45rem .7rem; border-radius: var(--radius); font: inherit; font-weight: 500; cursor: pointer;
}
.nav-drop-btn:hover, .nav-drop-btn.is-open { color: #fff; background: rgba(255,255,255,.08); }
.nav-drop-menu {
  display: none; position: absolute; top: calc(100% + .35rem); left: 0; min-width: 220px;
  background: #13201b; border: 1px solid rgba(255,255,255,.1); border-radius: 10px;
  padding: .4rem; box-shadow: var(--shadow); z-index: 50;
}
.nav-drop-menu-end { left: auto; right: 0; min-width: 230px; }
.nav-drop-menu.is-open { display: grid; animation: nav-drop-in .16s ease; }
@keyframes nav-drop-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}
.nav-drop-menu a,
.nav-drop-menu .nav-drop-form button {
  display: block; width: 100%; text-align: left; color: rgba(255,255,255,.85);
  padding: .55rem .7rem; border-radius: 7px; font-size: .9rem; font: inherit;
  border: 0; background: transparent; cursor: pointer;
}
.nav-drop-menu a:hover,
.nav-drop-menu .nav-drop-form button:hover { background: rgba(255,255,255,.08); color: #fff; }
.nav-drop-form { margin: 0; }
.header-profile { display: inline-flex; position: relative; }
.header-profile .header-auth {
  border: 1px solid rgba(255,255,255,.14);
}
.header-profile .header-auth.is-open {
  background: rgba(255,255,255,.1);
  color: #fff;
}

.flash {
  width: min(100% - 2rem, var(--max)); margin: 1rem auto 0;
  padding: .85rem 1rem; border-radius: var(--radius); font-weight: 500;
}
.flash-success { background: #d9f5e8; color: #0b5c3a; }
.flash-error { background: #fde2de; color: #8a2a20; }

/* Hero — premium dark SaaS, keep GOC brand */
.hero {
  position: relative; overflow: hidden;
  background:
    linear-gradient(145deg, rgba(8,12,11,.97), rgba(12,20,17,.9) 42%, rgba(14,42,34,.78)),
    linear-gradient(165deg, #070b0a 0%, #0c1411 48%, #0e2a22 100%);
  color: #fff; min-height: min(68vh, 620px);
  display: flex; align-items: center;
}
.hero::after { display: none; }
.hero-atmosphere {
  position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden;
}
.hero-glow {
  position: absolute; border-radius: 50%; filter: blur(48px);
  opacity: .55;
}
.hero-glow-a {
  width: min(52vw, 520px); height: min(52vw, 520px);
  right: -8%; top: -18%;
  background: radial-gradient(circle, rgba(15,159,118,.42), transparent 68%);
  animation: heroGlow 10s ease-in-out infinite;
}
.hero-glow-b {
  width: min(40vw, 380px); height: min(40vw, 380px);
  left: -12%; bottom: -22%;
  background: radial-gradient(circle, rgba(10,122,90,.28), transparent 70%);
  animation: heroGlow 12s ease-in-out infinite reverse;
}
.hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(ellipse 70% 60% at 70% 40%, #000 10%, transparent 75%);
  opacity: .35;
}
.hero-particles {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(1.5px 1.5px at 18% 28%, rgba(255,255,255,.35), transparent),
    radial-gradient(1.5px 1.5px at 72% 18%, rgba(15,159,118,.55), transparent),
    radial-gradient(1px 1px at 44% 72%, rgba(255,255,255,.28), transparent),
    radial-gradient(1.5px 1.5px at 88% 64%, rgba(15,159,118,.4), transparent),
    radial-gradient(1px 1px at 30% 54%, rgba(255,255,255,.22), transparent);
  opacity: .7;
}
@keyframes heroGlow {
  0%, 100% { transform: scale(1); opacity: .5; }
  50% { transform: scale(1.08); opacity: .72; }
}
@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: .7; }
  50% { transform: scale(1.08); opacity: 1; }
}

.hero-home-layout {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .9fr);
  gap: 2.5rem 2.75rem;
  align-items: center;
  padding: 3.5rem 0 3rem;
}
.hero-inner { position: relative; z-index: 1; padding: 3.75rem 0 3rem; max-width: 760px; }
.hero-eyebrow {
  margin: 0 0 .9rem; font-family: var(--display); font-size: .82rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--accent);
  font-weight: 600;
}
.hero-title {
  font-family: var(--display); font-weight: 700; letter-spacing: -.04em;
  font-size: clamp(2rem, 4.6vw, 3.25rem); line-height: 1.08; margin: 0 0 1rem;
  max-width: 14ch;
}
.hero-title-accent { color: #2fd49a; }
.hero-lead {
  font-size: clamp(1.02rem, 2vw, 1.14rem); line-height: 1.6; color: rgba(255,255,255,.72);
  max-width: 36rem; margin: 0 0 1.55rem; font-weight: 450;
}
.hero-home { min-height: min(72vh, 680px); align-items: stretch; }
.hero-home-inner {
  max-width: none; padding: 0; margin: 0;
}
.hero-search-primary {
  display: flex; gap: .6rem; flex-wrap: wrap; align-items: stretch;
  margin: 0 0 1rem;
}
.hero-search-field {
  flex: 1; min-width: 220px; position: relative; display: flex; align-items: center;
}
.hero-search-icon {
  position: absolute; left: 1rem; color: rgba(255,255,255,.42);
  pointer-events: none; transition: color .22s ease, transform .22s ease;
}
.hero-search-primary input,
.hero-search-field input {
  flex: 1; width: 100%; min-width: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 1rem 1.1rem 1rem 2.85rem;
  font-size: 1.02rem;
  background: rgba(255,255,255,.06);
  color: #fff;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition:
    border-color .22s ease,
    background .22s ease,
    box-shadow .22s ease;
}
.hero-search-primary input::placeholder,
.hero-search-field input::placeholder { color: rgba(255,255,255,.42); }
.hero-search-primary:hover .hero-search-field input {
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.08);
}
.hero-search-primary.is-focused .hero-search-field input,
.hero-search-field input:focus {
  outline: none;
  border-color: rgba(15, 159, 118, .55);
  background: rgba(255,255,255,.09);
  box-shadow:
    0 0 0 3px rgba(15, 159, 118, .18),
    0 12px 36px rgba(0, 0, 0, .28);
}
.hero-search-primary.is-focused .hero-search-icon,
.hero-search-field:focus-within .hero-search-icon {
  color: var(--accent);
  transform: scale(1.06);
}
.hero-search-btn {
  border-radius: 12px !important;
  min-width: 8.5rem;
  gap: .45rem;
}
.hero-search-btn svg {
  transition: transform .22s ease;
}
.hero-search-btn:hover svg { transform: scale(1.08) rotate(-6deg); }
.hero-cta {
  display: flex; flex-wrap: wrap; gap: .7rem;
  margin-top: 1.15rem;
}
.hero-cta .btn-ghost {
  border-color: rgba(255,255,255,.28);
}
.hero-home .btn-app {
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.22);
}

/* Hero product visualization */
.hero-viz {
  position: relative;
  min-height: 280px;
  display: flex; flex-direction: column; justify-content: center;
  gap: 1rem;
  perspective: 900px;
}
.hero-viz-card {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(18, 28, 24, .72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow:
    0 24px 60px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-viz-main {
  padding: 1.15rem 1.2rem 1.25rem;
  transform: rotateY(-6deg) rotateX(3deg);
  animation: heroFloat 7s ease-in-out infinite;
}
.hero-viz-row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem;
  margin-bottom: 1.1rem;
}
.hero-viz-metric {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  padding: .65rem .7rem;
  display: grid; gap: .35rem;
}
.hero-viz-label {
  font-size: .72rem; text-transform: uppercase; letter-spacing: .06em;
  color: rgba(255,255,255,.5); font-weight: 600;
}
.hero-viz-value {
  font-family: var(--display); font-size: 1.05rem; letter-spacing: -.02em;
  color: #fff;
}
.hero-viz-spark {
  height: 28px; border-radius: 4px;
  background:
    linear-gradient(180deg, transparent 40%, rgba(15,159,118,.15)),
    repeating-linear-gradient(
      90deg,
      transparent 0 4px,
      rgba(15,159,118,.55) 4px 6px,
      transparent 6px 10px,
      rgba(47,212,154,.75) 10px 12px
    );
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  opacity: .9;
}
.hero-viz-spark-b {
  background:
    linear-gradient(180deg, transparent 40%, rgba(15,159,118,.12)),
    repeating-linear-gradient(
      90deg,
      transparent 0 5px,
      rgba(15,159,118,.4) 5px 7px,
      transparent 7px 11px,
      rgba(47,212,154,.65) 11px 13px
    );
}
.hero-viz-chart {
  display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center;
}
.hero-viz-donut {
  width: 92px; height: 92px; border-radius: 50%;
  background: conic-gradient(
    #0f9f76 0 32%,
    #2fd49a 32% 60%,
    #0a7a5a 60% 82%,
    rgba(255,255,255,.18) 82% 100%
  );
  mask: radial-gradient(circle at center, transparent 42%, #000 43%);
  -webkit-mask: radial-gradient(circle at center, transparent 42%, #000 43%);
  box-shadow: 0 0 28px rgba(15,159,118,.22);
}
.hero-viz-legend {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: .35rem; font-size: .82rem; color: rgba(255,255,255,.7);
}
.hero-viz-legend .dot {
  display: inline-block; width: .55rem; height: .55rem; border-radius: 50%;
  margin-right: .4rem; vertical-align: middle;
}
.dot-a { background: #0f9f76; }
.dot-b { background: #2fd49a; }
.dot-c { background: #0a7a5a; }
.dot-d { background: rgba(255,255,255,.28); }
.hero-viz-check {
  display: flex; align-items: center; gap: .85rem;
  padding: .9rem 1rem;
  width: min(100%, 300px);
  margin-left: auto;
  transform: translateY(-.25rem);
  animation: heroFloat 8.5s ease-in-out infinite reverse;
}
.hero-viz-check-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.4rem; height: 2.4rem; border-radius: 50%;
  background: rgba(15,159,118,.16); color: var(--accent);
  flex-shrink: 0;
  box-shadow: 0 0 20px rgba(15,159,118,.25);
}
.hero-viz-check strong {
  display: block; font-size: .92rem; font-weight: 650; color: #fff;
}
.hero-viz-check p {
  margin: .15rem 0 0; font-size: .78rem; color: rgba(255,255,255,.55);
}
.hero-viz-ok {
  margin-left: auto; color: #2fd49a; font-weight: 700; font-size: 1.1rem;
}
@keyframes heroFloat {
  0%, 100% { transform: translateY(0) rotateY(-6deg) rotateX(3deg); }
  50% { transform: translateY(-8px) rotateY(-4deg) rotateX(2deg); }
}
.hero-viz-check {
  animation-name: heroFloatSoft;
}
@keyframes heroFloatSoft {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .45s ease, transform .45s ease;
}
.reveal.is-in {
  opacity: 1;
  transform: none;
}
.reveal[data-reveal]:nth-child(1) { transition-delay: .02s; }
.reveal[data-reveal]:nth-child(2) { transition-delay: .08s; }
.reveal[data-reveal]:nth-child(3) { transition-delay: .14s; }
.reveal[data-reveal]:nth-child(4) { transition-delay: .2s; }
.reveal[data-reveal]:nth-child(5) { transition-delay: .26s; }
.reveal[data-reveal]:nth-child(6) { transition-delay: .32s; }
.hero-viz.reveal { transition-delay: .28s; }

@keyframes rise {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

.search-band { margin-top: -2.25rem; position: relative; z-index: 2; padding: 0 0 1rem; }
.search-band .container {
  background: #13201b; color: #fff; border-radius: 14px; padding: 1.35rem 1.35rem 1.15rem;
  box-shadow: 0 24px 60px rgba(8, 18, 14, .28);
}
.search-band-title {
  font-family: var(--display); font-size: clamp(1.15rem, 2vw, 1.45rem);
  margin: 0 0 1rem; letter-spacing: -.02em;
}
.hero-search { display: flex; gap: .55rem; flex-wrap: wrap; align-items: stretch; }
.hero-search input {
  flex: 1; min-width: min(100%, 240px); border: 0; border-radius: 8px;
  padding: .95rem 1rem; background: #fff; color: var(--text);
}
.panel-search {
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  padding: .75rem; box-shadow: var(--shadow);
}
.search-band-alt { margin: .85rem 0 .75rem; color: rgba(255,255,255,.7); font-size: .95rem; }
.search-band-alt a { color: var(--accent); font-weight: 600; }
.quick-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.chip-link {
  display: inline-flex; padding: .4rem .78rem; border-radius: 999px;
  background: rgba(255,255,255,.06); color: rgba(255,255,255,.88); font-size: .85rem;
  border: 1px solid rgba(255,255,255,.12);
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}
.chip-link:hover {
  background: rgba(15,159,118,.22); color: #fff;
  border-color: rgba(15,159,118,.4);
  transform: translateY(-1px);
}

.stages-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.stages-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 1.15rem; }
.stages-compact { padding-top: 2.75rem; padding-bottom: 2.25rem; }
.stages-head { margin-bottom: 1.35rem; max-width: 36rem; }
.section-eyebrow {
  margin: 0 0 .45rem;
  font-size: .75rem; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--accent-deep);
}
.stage-item {
  position: relative;
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
  border: 1px solid rgba(15, 35, 28, 0.1);
  border-radius: 14px;
  padding: 1.35rem 1.25rem 1.3rem;
  opacity: 0; transform: translateY(14px);
  transition:
    opacity .45s ease,
    transform .35s ease,
    box-shadow .3s ease,
    border-color .3s ease;
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
}
.stage-item.is-in { opacity: 1; transform: none; }
.stage-item:hover {
  transform: translateY(-4px);
  border-color: rgba(15, 159, 118, .35);
  box-shadow:
    0 18px 40px rgba(10, 24, 18, .1),
    0 0 0 1px rgba(15, 159, 118, .08),
    0 0 32px rgba(15, 159, 118, .08);
}
.stage-item.is-in:hover { transform: translateY(-4px); }
.stage-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.75rem; height: 2.75rem; border-radius: 50%;
  background: rgba(15,159,118,.12); color: var(--accent-deep);
  margin-bottom: .85rem;
  box-shadow: 0 0 0 0 rgba(15,159,118,0);
  transition: box-shadow .3s ease, background .3s ease, transform .3s ease;
}
.stage-item:hover .stage-icon {
  background: rgba(15,159,118,.18);
  box-shadow: 0 0 24px rgba(15,159,118,.22);
  transform: scale(1.04);
}
.stage-num {
  position: absolute; top: 1.2rem; right: 1.15rem;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.9rem; height: 1.55rem; padding: 0 .45rem;
  border-radius: 999px; background: rgba(15,159,118,.1); color: var(--accent-deep);
  font-weight: 700; font-size: .75rem; letter-spacing: .04em; margin: 0;
}
.stage-item h3 {
  margin: 0 0 .4rem;
  font-family: var(--display);
  font-size: 1.12rem;
  letter-spacing: -.02em;
}
.stage-item p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.5; }
.section-head-row {
  display: flex; justify-content: space-between; gap: 1rem; align-items: end;
  margin-bottom: .5rem; flex-wrap: wrap;
}
.section-head-row .section-title, .section-head-row .section-lead { margin-bottom: .35rem; }
.trial-band { background: linear-gradient(135deg, #0c1411, #16362c 60%, #0a7a5a); padding: 2.5rem 0; }
.trial-inner { display: flex; justify-content: space-between; gap: 1.25rem; align-items: center; flex-wrap: wrap; }
.faq-list { display: grid; gap: .65rem; max-width: 820px; }
.faq-item { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .85rem 1rem; }
.faq-item summary { cursor: pointer; font-weight: 600; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item p { margin: .65rem 0 0; color: var(--muted); }
.hint-box, .hint-inline {
  background: #f3faf6; border: 1px solid rgba(15,159,118,.2); color: #0b5c3a;
  border-radius: 10px; padding: .85rem 1rem; font-size: .92rem;
}
.hint-inline { margin: 0 0 1rem; }
.page-kicker {
  margin: 0 0 .25rem; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted);
}
.steps-plain { margin: 0 0 1.25rem; padding-left: 1.2rem; color: var(--muted); line-height: 1.55; }
.docs-form { display: grid; gap: .75rem; margin-bottom: 1rem; }
.docs-form .form-field { margin: 0; }
.docs-form .form-field span { display: block; font-weight: 600; margin-bottom: .3rem; font-size: .9rem; }
.docs-form input {
  width: 100%; border: 1px solid var(--line); border-radius: var(--radius); padding: .65rem .75rem;
}
.feature-item, .tariff-card {
  opacity: 0; transform: translateY(10px); transition: .4s ease;
}
.feature-item.is-in, .tariff-card.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .stage-item, .feature-item, .tariff-card {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
  .hero-glow, .hero-viz-main, .hero-viz-check,
  .hero-search-btn svg, .chip-link, .btn {
    animation: none !important; transition: none !important;
  }
  .btn:hover, .stage-item:hover, .chip-link:hover { transform: none !important; }
}

.section { padding: 3.5rem 0; }
.section-title {
  font-family: var(--display); font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: -0.02em; margin: 0 0 .5rem;
}
.section-lead { color: var(--muted); margin: 0 0 1.75rem; max-width: 40rem; }

.feature-rail {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
.feature-item {
  padding: 1.25rem 1.35rem; background: var(--surface-2);
  border: 1px solid var(--line); border-radius: var(--radius);
  transition: transform .2s ease, box-shadow .2s ease;
}
.feature-item:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.feature-item h3 {
  font-family: var(--display); font-size: 1rem; margin: 0 0 .4rem; letter-spacing: -0.01em;
}
.feature-item p { margin: 0; color: var(--muted); font-size: .95rem; }

/* Search workspace — dockable filters */
.search-layout {
  display: grid;
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  grid-template-areas: "filters results";
  gap: 1.35rem;
  align-items: start;
  padding: 1.25rem 0 3rem;
  position: relative;
}
.search-layout .filters { grid-area: filters; }
.search-layout .results { grid-area: results; min-width: 0; }
.search-layout[data-filters-dock="left"] {
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  grid-template-areas: "filters results";
}
.search-layout[data-filters-dock="right"] {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
  grid-template-areas: "results filters";
}
.search-layout[data-filters-dock="top"] {
  grid-template-columns: 1fr;
  grid-template-areas: "filters" "results";
}
.search-layout[data-filters-dock="bottom"] {
  grid-template-columns: 1fr;
  grid-template-areas: "results" "filters";
}
.filters-mobile-btn, .filters-close, .filters-backdrop { display: none; }
.filters {
  position: sticky; top: 72px; max-height: calc(100vh - 88px); overflow: auto;
  background: #1a1f1c; color: #e8f2ed;
  border-radius: 14px; padding: 1.2rem 1.1rem 1.25rem;
  box-shadow: 0 18px 50px rgba(10, 24, 18, 0.18);
  scrollbar-width: thin;
  touch-action: pan-y;
}
.site-header.is-scrolled ~ * .filters,
.page-search .filters {
  top: 64px;
  max-height: calc(100vh - 78px);
}
.search-layout[data-filters-dock="top"] .filters,
.search-layout[data-filters-dock="bottom"] .filters {
  position: relative;
  top: auto;
  max-height: min(52vh, 420px);
}
.search-layout[data-filters-dock="top"] .filters-form,
.search-layout[data-filters-dock="bottom"] .filters-form {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .35rem .85rem;
  align-items: start;
}
.search-layout[data-filters-dock="top"] .filters-form .filter-more,
.search-layout[data-filters-dock="bottom"] .filters-form .filter-more,
.search-layout[data-filters-dock="top"] .filters-form .filters-actions,
.search-layout[data-filters-dock="bottom"] .filters-form .filters-actions {
  grid-column: 1 / -1;
}
.filters.is-dragging {
  opacity: .92;
  box-shadow: 0 24px 60px rgba(10, 24, 18, 0.35);
  cursor: grabbing;
}
.filters-head {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  margin-bottom: .35rem;
  cursor: grab;
  user-select: none;
}
.filters-head:active { cursor: grabbing; }
.filters-drag-grip {
  display: inline-block;
  letter-spacing: -2px;
  color: rgba(255,255,255,.35);
  font-size: .85rem;
  line-height: 1;
  margin-right: .1rem;
}
.filters-head-right { display: inline-flex; align-items: center; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }
.filters-dock {
  display: inline-flex;
  gap: 2px;
  padding: 2px;
  border-radius: 8px;
  background: rgba(255,255,255,.06);
}
.filters-dock-btn {
  width: 1.55rem; height: 1.55rem;
  border: 0; border-radius: 6px;
  background: transparent; color: rgba(255,255,255,.55);
  font-size: .65rem; line-height: 1; cursor: pointer; padding: 0;
}
.filters-dock-btn:hover { background: rgba(255,255,255,.1); color: #fff; }
.filters-dock-btn.is-active {
  background: rgba(15,159,118,.35); color: #fff;
}
.filters-dock-zones {
  position: fixed; inset: 0; z-index: 80; pointer-events: none;
}
.filters-dock-zones:not([hidden]) { pointer-events: auto; }
.filters-dock-zone {
  position: absolute;
  border: 0;
  background: rgba(15, 159, 118, .18);
  color: #fff;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .02em;
  cursor: pointer;
  opacity: 0;
  transition: opacity .15s ease, background .15s ease;
  pointer-events: auto;
}
.filters-dock-zones:not([hidden]) .filters-dock-zone { opacity: 1; }
.filters-dock-zone.is-hot { background: rgba(15, 159, 118, .42); }
.filters-dock-zone[data-dock-zone="top"] {
  top: 0; left: 12%; right: 12%; height: 72px;
  border-radius: 0 0 14px 14px;
}
.filters-dock-zone[data-dock-zone="bottom"] {
  bottom: 0; left: 12%; right: 12%; height: 72px;
  border-radius: 14px 14px 0 0;
}
.filters-dock-zone[data-dock-zone="left"] {
  top: 14%; bottom: 14%; left: 0; width: 88px;
  border-radius: 0 14px 14px 0;
}
.filters-dock-zone[data-dock-zone="right"] {
  top: 14%; bottom: 14%; right: 0; width: 88px;
  border-radius: 14px 0 0 14px;
}
.filters h2 {
  display: inline-flex; align-items: center; gap: .45rem;
  font-family: var(--display); font-size: 1.05rem; margin: 0;
  letter-spacing: -0.01em; color: #fff;
}
.filters-ico { color: var(--accent); flex-shrink: 0; }
.filters-count {
  min-width: 1.4rem; height: 1.4rem; display: inline-flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700; color: #06261c;
  background: var(--accent); border-radius: 999px; padding: 0 .4rem;
}
.filters-hint {
  margin: 0 0 1rem; color: rgba(232,242,237,.62); font-size: .82rem; line-height: 1.4;
}
.filter-chips {
  display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .85rem;
  min-width: 0; max-width: 100%;
}
.filter-chip {
  display: inline-flex; align-items: center; gap: .3rem;
  max-width: 100%; padding: .25rem .45rem .25rem .55rem;
  border-radius: 999px; background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.9);
  font-size: .78rem; font-weight: 600;
  box-sizing: border-box;
}
.filter-chip span:first-child {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 11rem;
}
.filter-chip-x { opacity: .7; font-size: 1rem; line-height: 1; }
.filter-chip:hover { background: rgba(15,159,118,.25); border-color: rgba(15,159,118,.4); color: #fff; }
.filter-chip-clear {
  display: inline-flex; align-items: center;
  font-size: .78rem; color: rgba(255,255,255,.55); padding: .25rem .35rem; font-weight: 600;
  flex: 0 0 auto;
}
.filter-chip-clear:hover { color: #fff; }
.field { margin-bottom: .95rem; }
.field label {
  display: block; font-size: .72rem; text-transform: uppercase;
  letter-spacing: .06em; color: rgba(255,255,255,.48); margin-bottom: .35rem; font-weight: 700;
}
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.filters .field input, .filters .field select, .filters .field textarea {
  width: 100%; border: 1px solid rgba(255,255,255,.1);
  background: #242a27; color: #fff; border-radius: 10px;
  padding: .72rem .85rem; font-size: .92rem;
}
.filters .field input:focus, .filters .field select:focus {
  outline: none; border-color: rgba(15,159,118,.55); box-shadow: 0 0 0 3px rgba(15,159,118,.15);
}
.filters .field input::placeholder, .filters .field textarea::placeholder { color: rgba(255,255,255,.35); }
.input-ico { position: relative; }
.input-ico svg {
  position: absolute; left: .75rem; top: 50%; transform: translateY(-50%);
  color: rgba(255,255,255,.4); pointer-events: none;
}
.input-ico input { padding-left: 2.25rem !important; }
.input-ico-end svg { left: auto; right: .75rem; }
.input-ico-end input { padding-left: .85rem !important; padding-right: 2.25rem !important; }
.check-list { display: grid; gap: .2rem; }
.check-list label, .check-inline {
  display: flex; align-items: center; gap: .55rem;
  font-size: .9rem; color: rgba(255,255,255,.88); text-transform: none; letter-spacing: 0;
  cursor: pointer; font-weight: 500;
  padding: .35rem .4rem; margin: 0 -.4rem; border-radius: 8px;
  transition: background .12s ease;
}
.check-list label:hover, .check-inline:hover { background: rgba(255,255,255,.06); }
.check-list label.is-locked { opacity: .78; cursor: default; }
.check-list label.is-locked:hover { background: transparent; }
.check-lock {
  margin-left: auto;
  font-size: .72rem;
  color: rgba(47, 212, 154, .85);
  text-decoration: none;
  font-weight: 600;
}
.check-lock:hover { text-decoration: underline; }
.check-list-counts label { justify-content: space-between; gap: .5rem; }
.check-main { display: inline-flex; align-items: center; gap: .55rem; min-width: 0; }
.check-count {
  flex-shrink: 0; font-size: .8rem; font-weight: 600; color: rgba(255,255,255,.4);
  font-variant-numeric: tabular-nums;
}
.check-list input[type="checkbox"], .check-inline input[type="checkbox"] {
  width: 1.05rem; height: 1.05rem; accent-color: var(--accent); flex-shrink: 0;
}
.filter-more {
  border-top: 1px solid rgba(255,255,255,.08); padding-top: .55rem; margin-bottom: .35rem;
}
.filter-more summary {
  cursor: pointer; list-style: none; font-size: .82rem; font-weight: 700;
  color: rgba(255,255,255,.7); padding: .2rem 0 .55rem;
  display: flex; align-items: center; justify-content: space-between;
}
.filter-more summary::after {
  content: ""; width: .45rem; height: .45rem;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg); opacity: .7; transition: transform .15s ease;
}
.filter-more[open] summary::after { transform: rotate(-135deg); margin-top: .25rem; }
.filter-more summary::-webkit-details-marker { display: none; }
.filters-actions {
  position: sticky; bottom: 0; padding-top: .9rem; margin-top: .35rem;
  background: linear-gradient(180deg, transparent, #1a1f1c 28%);
  display: flex; flex-direction: column; gap: .45rem;
  min-width: 0; max-width: 100%;
  box-sizing: border-box;
}
.filters-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  width: 100%; max-width: 100%; box-sizing: border-box;
  padding: .78rem .85rem !important; font-size: .9rem !important; border-radius: 10px !important;
  white-space: normal; text-align: center;
}
.btn-reset {
  display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
  width: 100%; max-width: 100%; box-sizing: border-box;
  background: #2a312d; color: rgba(255,255,255,.88); border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px; padding: .7rem .85rem; font-weight: 600; font-size: .88rem;
  white-space: nowrap;
}
.btn-reset:hover { background: #343c37; color: #fff; border-color: rgba(255,255,255,.2); }
.filters-template {
  margin-top: 1rem; padding-top: .85rem; border-top: 1px solid rgba(255,255,255,.08);
}
.filters-template-hint {
  margin: 0 0 .65rem; font-size: .82rem; line-height: 1.4;
  color: rgba(255,255,255,.55);
}
.tpl-notify {
  display: flex; gap: .4rem; align-items: center; font-size: .85rem;
  margin: 0 0 .55rem; color: rgba(255,255,255,.75);
}

.search-tip {
  display: flex; gap: .7rem; align-items: flex-start;
  background: #eef8f3; border: 1px solid rgba(15,159,118,.22);
  border-radius: 10px; padding: .75rem .9rem; margin-bottom: 1rem;
  color: #0b5c3a; font-size: .9rem; line-height: 1.4;
}
.search-tip[hidden] { display: none !important; }
.search-tip p { margin: 0; flex: 1; }
.search-tip-ico {
  width: 1.35rem; height: 1.35rem; border-radius: 50%; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(15,159,118,.18); color: var(--accent-deep);
  font-size: .75rem; font-weight: 800; font-style: italic;
}
.search-tip-close {
  border: 0; background: transparent; color: #0b5c3a; opacity: .55;
  font-size: 1.2rem; line-height: 1; cursor: pointer; padding: 0 .15rem;
}
.search-tip-close:hover { opacity: 1; }

.kpi-row {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: .65rem; margin-bottom: 1rem;
}
.kpi-row-inline {
  margin: 0; gap: .45rem; min-width: min(100vw - 2rem, 420px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.kpi-collapse {
  position: relative;
}
.kpi-collapse summary {
  list-style: none; cursor: pointer;
  border: 1px solid var(--line); background: #fff; border-radius: var(--radius-sm);
  padding: .4rem .7rem; font-size: .85rem; font-weight: 600; color: var(--muted);
}
.kpi-collapse summary::-webkit-details-marker { display: none; }
.kpi-collapse summary:hover { color: var(--text); border-color: rgba(15,159,118,.35); }
.kpi-collapse[open] summary { color: var(--accent-deep); border-color: rgba(15,159,118,.4); }
.kpi-collapse .kpi-row {
  position: absolute; right: 0; top: calc(100% + .4rem); z-index: 12;
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: .65rem; box-shadow: var(--shadow); margin: 0;
}
.kpi-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: .7rem .8rem; display: grid; gap: .1rem;
}
.kpi-card-accent { border-color: rgba(15,159,118,.28); background: linear-gradient(180deg, #f3fbf7, #fff); }
.kpi-card strong {
  font-family: var(--display); font-size: 1.05rem; letter-spacing: -.02em; line-height: 1.15;
}
.kpi-card span { color: var(--muted); font-size: .75rem; }

.results-toolbar {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .65rem;
  align-items: center; margin-bottom: .65rem;
}
.results-toolbar-left { display: flex; flex-wrap: wrap; gap: .55rem 1rem; align-items: center; }
.results-title {
  font-family: var(--display); font-size: 1.1rem; letter-spacing: -.02em; margin: 0;
}
.results-count { color: var(--accent-deep); }
.sort-field {
  display: inline-flex; align-items: center; gap: .45rem; font-size: .85rem; color: var(--muted);
}
.sort-field select {
  border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff;
  padding: .45rem .6rem; color: var(--text); font: inherit; font-weight: 600;
  min-height: 2.35rem;
}
.results-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }
.btn-ico { display: inline-flex; align-items: center; gap: .4rem; }

.quick-filters {
  display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .85rem;
}
.quick-chip {
  display: inline-flex; align-items: center; padding: .45rem .8rem;
  border-radius: 999px; border: 1px solid var(--line); background: #fff;
  color: var(--text); font-size: .82rem; font-weight: 600;
  min-height: 2.25rem;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.quick-chip:hover { border-color: rgba(15,159,118,.45); color: var(--accent-deep); }
.quick-chip.is-active {
  background: rgba(15,159,118,.12); border-color: rgba(15,159,118,.4); color: var(--accent-deep);
}

.tender-list { display: grid; gap: .5rem; }
.tender-list-compact { gap: .5rem; }
.tender-row {
  position: relative;
  display: grid; grid-template-columns: 1fr;
  background: var(--surface-2); border: 1px solid var(--line);
  border-radius: var(--radius); padding: .9rem 1rem;
  transition: border-color .15s ease, box-shadow .15s ease;
  cursor: pointer;
}
.tender-row:hover {
  border-color: rgba(15,159,118,.4);
  box-shadow: 0 10px 28px rgba(10, 24, 18, 0.07);
}
.tender-row-hit {
  position: absolute; inset: 0; z-index: 1;
  border-radius: inherit;
}
/* Hit overlay must stay below interactive controls */
.tender-row > *:not(.tender-row-hit) { position: relative; z-index: 2; }
.tender-row-hit { pointer-events: auto; }
.tender-dense-actions,
.tender-ext-links,
.tender-fav-form,
.tender-dense-mid h3 a,
a.fav-btn {
  position: relative;
  z-index: 3;
}

/* Dense informative tender card — no empty side column */
.tender-dense {
  display: grid; gap: .35rem; padding: .65rem .85rem;
}
.tender-dense-top {
  display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .5rem;
  font-size: .78rem; color: var(--muted);
}
.tender-dense-mid {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .45rem 1rem; align-items: start;
}
.tender-dense-main { min-width: 0; }
.tender-dense-mid h3 {
  margin: 0; font-size: .95rem; line-height: 1.3; font-weight: 700;
}
.tender-dense-mid h3 a { position: relative; z-index: 3; color: inherit; }
.tender-dense-mid h3 a:hover { color: var(--accent-deep); }
.tender-card-sub {
  margin: .25rem 0 0; font-size: .84rem; color: var(--muted); line-height: 1.35;
}
.tender-dense-side { text-align: right; min-width: 7rem; }
.tender-dense .tender-price {
  font-family: var(--display); font-size: 1.02rem; letter-spacing: -.02em; margin: 0;
  white-space: nowrap; line-height: 1.15;
}
.tender-dense .tender-deadline { font-size: .78rem; font-weight: 700; margin-top: .15rem; }
.tender-dense-bot {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .35rem .75rem; align-items: center;
}
.tender-dense .tender-fav-form { margin: 0; }
.tender-card-arrow {
  display: inline-flex; color: var(--muted); transition: transform .2s ease, color .2s ease;
}
.tender-row:hover .tender-card-arrow { transform: translateX(3px); color: var(--accent-deep); }

/* legacy scan kept for any leftover markup */
.tender-scan {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .55rem .85rem; align-items: start;
  padding: .7rem .9rem;
}
.tender-scan-left {
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: .3rem;
  max-width: 100%;
}
.tender-scan-body { min-width: 0; }
.tender-scan-body h3 {
  margin: 0 0 .25rem; font-size: .98rem; line-height: 1.3; font-weight: 700;
}
.tender-scan-body h3 a { position: relative; z-index: 2; color: inherit; }
.tender-scan-body h3 a:hover { color: var(--accent-deep); }
.tender-scan-right {
  text-align: right; display: grid; gap: .15rem; justify-items: end; align-content: start;
}
.tender-scan .tender-price {
  font-family: var(--display); font-size: 1.08rem; letter-spacing: -.02em; margin: 0;
  white-space: nowrap; line-height: 1.2;
}
.tender-scan .tender-deadline { font-size: .78rem; font-weight: 700; white-space: nowrap; }
.tender-fav-form { margin-top: .15rem; position: relative; z-index: 2; }
.tender-row form, .tender-row button { position: relative; z-index: 2; }

.tender-main { display: grid; gap: .4rem; }
.tender-top {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .55rem;
  color: var(--muted); font-size: .8rem;
}
.tender-reg, .tender-method { color: var(--muted); font-size: .78rem; }
.tender-mid {
  display: grid; grid-template-columns: 1fr auto; gap: .75rem 1.15rem; align-items: start;
}
.tender-row h3 {
  margin: 0; font-size: 1rem; line-height: 1.35; color: var(--text); font-weight: 700;
}
.tender-row h3 a { position: relative; z-index: 2; color: inherit; }
.tender-row h3 a:hover { color: var(--accent-deep); }
.tender-bottom {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem .75rem; align-items: center;
}
.tender-meta {
  display: flex; flex-wrap: wrap; gap: .25rem .55rem;
  color: var(--muted); font-size: .8rem; margin: 0;
}
.tender-meta span + span::before {
  content: "·"; margin-right: .55rem; opacity: .55;
}
.tender-dense-actions {
  display: inline-flex; align-items: center; gap: .4rem; flex-shrink: 0;
  position: relative; z-index: 2;
}
.tender-ext-links {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: .3rem;
  position: relative; z-index: 2;
}
.tender-ext-link {
  display: inline-flex; align-items: center;
  padding: .2rem .5rem;
  border-radius: 6px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--accent-deep);
  font-size: .72rem; font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  max-width: 9.5rem;
  overflow: hidden; text-overflow: ellipsis;
}
.tender-ext-link:hover {
  border-color: rgba(15,159,118,.45);
  background: #eef8f3;
  color: var(--accent-deep);
}
.tender-ext-platform {
  color: var(--text);
  font-weight: 600;
}
.chip {
  display: inline-flex; align-items: center; gap: .25rem;
  padding: .18rem .45rem; border-radius: 6px;
  background: rgba(15,159,118,.1); color: var(--accent-deep); font-size: .74rem; font-weight: 700;
}
.chip-law { background: rgba(12,20,17,.07); color: var(--text); font-weight: 600; }
.chip-stage { background: rgba(212,160,23,.14); color: #8a6808; }
.chip-stage-dot::before {
  content: ""; width: .45rem; height: .45rem; border-radius: 50%;
  background: currentColor; display: inline-block;
}
.tender-side { text-align: right; min-width: 7.5rem; }
.tender-price {
  font-family: var(--display); font-size: 1.08rem; letter-spacing: -0.02em; margin: 0 0 .15rem;
  white-space: nowrap;
}
.tender-deadline { font-size: .8rem; font-weight: 700; color: var(--muted); white-space: nowrap; }
.tender-deadline.urgency-ok { color: #1a9a5c; }
.tender-deadline.urgency-warn { color: #c98a1a; }
.tender-deadline.urgency-danger { color: #c4473a; }
.tender-deadline.urgency-muted { color: var(--muted); font-weight: 500; }
.tender-row-actions { display: inline-flex; align-items: center; gap: .35rem; }
.tender-more {
  opacity: 0; pointer-events: none;
  font-size: .78rem; font-weight: 700; color: var(--accent-deep);
  padding: .25rem .5rem; border-radius: 6px; background: rgba(15,159,118,.1);
  transition: opacity .15s ease;
}
.tender-row:hover .tender-more { opacity: 1; pointer-events: auto; }
.fav-btn {
  width: 2.15rem; height: 2.15rem; border-radius: 50%;
  border: 1px solid var(--line); background: #fff; color: var(--muted);
  cursor: pointer; font-size: 1.05rem; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center;
  opacity: .85; transition: opacity .15s ease, color .15s ease, border-color .15s ease, background .15s ease;
  text-decoration: none; flex-shrink: 0;
}
a.fav-btn:hover { text-decoration: none; }
.tender-row:hover .fav-btn, .fav-btn.is-on { opacity: 1; }
.fav-btn.is-on { color: #d4a017; border-color: rgba(212,160,23,.45); background: rgba(212,160,23,.1); }
.fav-btn:hover { color: #d4a017; border-color: rgba(212,160,23,.5); }

.empty-rich {
  text-align: center; padding: 2.25rem 1.25rem;
  background: #fff; border: 1px dashed var(--line); border-radius: 12px;
}
.empty-rich strong {
  display: block; font-family: var(--display); font-size: 1.1rem; margin-bottom: .35rem;
}
.empty-rich p { margin: 0 0 1rem; color: var(--muted); }

.pagination {
  display: flex; gap: .4rem; flex-wrap: wrap; margin-top: 1.25rem;
}
.pagination a, .pagination span {
  min-width: 2.2rem; height: 2.2rem; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--line); border-radius: 8px; color: var(--text); font-weight: 600;
  background: #fff;
}
.pagination a:hover, .pagination .is-current {
  background: var(--ink); color: #fff; border-color: var(--ink);
}

/* Tender card page */
.tender-hero {
  background:
    linear-gradient(135deg, rgba(12,20,17,.96), rgba(19,32,27,.88)),
    linear-gradient(160deg, #0c1411, #16362c 55%, #0a7a5a 140%);
  color: #fff; padding: 1.75rem 0 1.5rem;
}
.tender-hero-inner { max-width: 920px; }
.tender-hero-top {
  display: flex; flex-wrap: wrap; gap: .4rem .65rem; align-items: center;
  color: rgba(255,255,255,.7); font-size: .85rem; margin-bottom: .65rem;
}
.tender-hero-meta { opacity: .75; }
.tender-hero h1 {
  font-family: var(--display); font-size: clamp(1.35rem, 3vw, 1.95rem);
  letter-spacing: -0.02em; margin: 0 0 .85rem; line-height: 1.2;
}
.tender-hero-stats {
  display: flex; flex-wrap: wrap; gap: .55rem 1.25rem; align-items: baseline;
}
.tender-hero-price {
  font-family: var(--display); font-size: clamp(1.35rem, 2.5vw, 1.7rem); letter-spacing: -.02em;
}
.tender-hero-deadline { font-size: .95rem; font-weight: 600; opacity: .9; }
.tender-hero-deadline.urgency-ok { color: #7debb8; }
.tender-hero-deadline.urgency-warn { color: #ffd36a; }
.tender-hero-deadline.urgency-danger { color: #ff9b8f; }
.tender-hero-deadline.urgency-muted { color: rgba(255,255,255,.7); }
.tender-hero .chip-law { background: rgba(255,255,255,.12); color: #fff; }
.tender-hero .chip-stage { background: rgba(212,160,23,.28); color: #ffe6a3; }

.detail-grid, .tender-detail {
  display: grid; grid-template-columns: 1.65fr .9fr; gap: 1.15rem;
  padding: 1.25rem 0 3rem; align-items: start;
}
.tender-detail-main { display: grid; gap: .9rem; min-width: 0; }
.panel-box {
  background: var(--surface-2); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 1.15rem 1.2rem;
}
.panel-box h2 {
  font-family: var(--display); font-size: 1rem; margin: 0 0 .75rem; letter-spacing: -.01em;
}
.tender-lead { margin: 0 0 1rem; color: var(--text); line-height: 1.55; }
.kv { display: grid; grid-template-columns: 140px 1fr; gap: .4rem .75rem; font-size: .92rem; }
.kv-wide { grid-template-columns: 160px 1fr; }
.kv dt { color: var(--muted); }
.kv dd { margin: 0; font-weight: 600; }

.tender-tabs {
  display: flex; flex-wrap: wrap; gap: .35rem; padding: .2rem;
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  position: sticky; top: 72px; z-index: 5;
}
.tender-tabs button {
  border: 0; background: transparent; color: var(--muted);
  font: inherit; font-weight: 600; font-size: .85rem;
  padding: .5rem .75rem; border-radius: 8px; cursor: pointer;
}
.tender-tabs button:hover { color: var(--text); background: rgba(15,159,118,.08); }
.tender-tabs button.is-active {
  color: var(--accent-deep); background: rgba(15,159,118,.14);
}
.tender-panel { display: grid; gap: .85rem; }
.tender-panel[hidden] { display: none !important; }
.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.info-list {
  margin: 0; padding-left: 1.1rem; display: grid; gap: .45rem;
  color: var(--text); line-height: 1.45; font-size: .92rem;
}
.info-list-lg { gap: .55rem; font-size: .95rem; }
.info-list-warn li::marker { color: var(--danger); }

.object-table-wrap { overflow-x: auto; }
.object-table {
  width: 100%; border-collapse: collapse; font-size: .9rem;
}
.object-table th, .object-table td {
  text-align: left; padding: .55rem .45rem; border-bottom: 1px solid var(--line);
}
.object-table th { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 700; }
.object-req-list { display: grid; gap: .65rem; }
.object-req-card {
  border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem; background: #f8fbf9;
}
.object-req-card h3 { margin: 0 0 .25rem; font-size: .95rem; }
.object-req-card p { margin: .35rem 0 0; color: var(--text); font-size: .9rem; }

.criteria-list { display: grid; gap: .65rem; margin-top: .85rem; }
.criteria-card {
  border: 1px solid var(--line); border-radius: 8px; padding: .8rem .9rem; background: #fff;
}
.criteria-head {
  display: flex; justify-content: space-between; gap: .75rem; align-items: center; margin-bottom: .35rem;
}
.criteria-weight {
  font-family: var(--display); font-size: 1rem; color: var(--accent-deep);
}
.criteria-card p { margin: 0 0 .55rem; color: var(--muted); font-size: .88rem; }
.criteria-bar {
  height: .4rem; border-radius: 999px; background: rgba(15,35,28,.08); overflow: hidden;
}
.criteria-bar span {
  display: block; height: 100%; border-radius: inherit; background: var(--accent);
}

.doc-list { margin: 0; padding-left: 1.1rem; display: grid; gap: .4rem; }
.doc-list-cards {
  list-style: none; padding: 0; margin: .75rem 0 0; gap: .55rem;
}
.doc-item {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .65rem; align-items: center;
  padding: .75rem .85rem; border: 1px solid var(--line); border-radius: var(--radius-sm);
  background: #fafbfa;
}
.doc-item-main { display: flex; gap: .65rem; align-items: flex-start; min-width: 0; flex: 1; }
.doc-item-main strong { display: block; font-size: .95rem; line-height: 1.3; }
.doc-ico {
  width: 2.2rem; height: 2.2rem; border-radius: 8px; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(15,159,118,.12); color: var(--accent-deep);
}
.doc-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.customer-name { font-weight: 700; margin: 0 0 .25rem; font-size: 1.05rem; }
.similar-box { margin-top: .15rem; }

.tender-aside { display: grid; gap: .85rem; position: sticky; top: 76px; }
.tender-cta { display: grid; gap: .65rem; }
.tender-cta-price {
  font-family: var(--display); font-size: 1.45rem; letter-spacing: -.02em; line-height: 1.15;
}
.tender-cta-deadline { font-size: .92rem; font-weight: 600; }
.tender-cta-deadline.urgency-ok { color: #1a9a5c; }
.tender-cta-deadline.urgency-warn { color: #c98a1a; }
.tender-cta-deadline.urgency-danger { color: #c4473a; }
.tender-cta-source { color: var(--text) !important; border-color: var(--line) !important; background: transparent !important; }
.tender-cta-facts {
  display: grid; gap: .45rem; margin-top: .25rem; padding-top: .75rem;
  border-top: 1px solid var(--line);
}
.tender-cta-facts div { display: flex; justify-content: space-between; gap: .75rem; font-size: .85rem; }
.tender-cta-facts span { color: var(--muted); }
.tender-cta-facts strong { font-weight: 700; text-align: right; }
.tender-aside-customer .light { margin: .55rem 0; }
.tender-aside-customer p { margin: .45rem 0 0; }

.light {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .45rem .7rem; border-radius: var(--radius); font-weight: 700; font-size: .9rem;
}
.light-green { background: #d9f5e8; color: #0b5c3a; }
.light-yellow { background: #fff0cc; color: #8a6808; }
.light-red { background: #fde2de; color: #8a2a20; }
.light-dot {
  width: .7rem; height: .7rem; border-radius: 50%;
}
.light-green .light-dot { background: var(--ok); }
.light-yellow .light-dot { background: var(--warn); }
.light-red .light-dot { background: var(--danger); }

/* Board */
.board {
  display: grid; grid-template-columns: repeat(6, minmax(180px, 1fr));
  gap: .75rem; overflow-x: auto; padding-bottom: 1rem;
}
.board-col {
  background: rgba(255,255,255,.7); border: 1px solid var(--line);
  border-radius: var(--radius); min-height: 320px; padding: .7rem;
}
.board-col h3 {
  font-size: .78rem; text-transform: uppercase; letter-spacing: .06em;
  color: var(--muted); margin: 0 0 .7rem;
}
.board-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: .7rem; margin-bottom: .55rem; font-size: .9rem;
}
.board-card strong { display: block; margin-bottom: .35rem; line-height: 1.3; }

/* Auth / forms */
.auth-wrap {
  max-width: 440px; margin: 2.5rem auto; background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius); padding: 1.5rem;
  box-shadow: var(--shadow);
}
.auth-wrap h1 {
  font-family: var(--display); font-size: 1.4rem; margin: 0 0 1rem;
}
.form-field { margin-bottom: .9rem; }
.form-field label { display: block; font-weight: 600; margin-bottom: .3rem; font-size: .9rem; color: var(--text); }
.form-field input, .form-field select, .form-field textarea {
  width: 100%; border: 1px solid var(--line); border-radius: var(--radius);
  padding: .65rem .75rem; background: #fff; color: var(--text); caret-color: var(--text);
}
.form-field input::placeholder, .form-field textarea::placeholder {
  color: var(--muted); opacity: 1;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  outline: 2px solid rgba(15,159,118,.35); border-color: var(--accent); outline-offset: 0;
}
.form-field input:-webkit-autofill,
.form-field input:-webkit-autofill:hover,
.form-field input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--text);
  box-shadow: 0 0 0 1000px #fff inset;
  transition: background-color 99999s ease-out;
}
.password-field { position: relative; }
.password-field input { padding-right: 2.85rem !important; }
.password-toggle {
  position: absolute; right: .2rem; top: 50%; transform: translateY(-50%);
  width: 2.4rem; height: 2.4rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; background: transparent; color: #8a9690;
  cursor: pointer; padding: 0; border-radius: 6px;
}
.password-toggle:hover { color: var(--text); background: rgba(15,35,28,.05); }
.password-toggle:focus-visible { outline: 2px solid rgba(15,159,118,.4); outline-offset: 1px; }
.password-toggle .eye-off { display: none; }
.password-toggle.is-on .eye-open { display: none; }
.password-toggle.is-on .eye-off { display: block; }

.tariff-grid, .plan-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem;
}
.tariff-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  padding: 1.35rem; position: relative;
}
.tariff-card.is-rec { border-color: var(--accent); box-shadow: var(--shadow); }
.tariff-card h3 { font-family: var(--display); margin: 0 0 .35rem; }
.tariff-price {
  font-family: var(--display); font-size: 1.8rem; letter-spacing: -0.03em; margin: .5rem 0;
}
.tariff-card ul { padding-left: 1.1rem; color: var(--muted); }
.tariff-card li { margin-bottom: .35rem; }

/* Подписка — как paywall в /app/ */
.sub-page { padding: 2rem 0 3.5rem; }
.sub-hero { max-width: 40rem; margin-bottom: 1.5rem; }
.sub-kicker {
  margin: 0 0 .35rem; font-size: .82rem; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase; color: var(--accent-deep);
}
.sub-reason {
  margin: .35rem 0 1rem; color: var(--muted); font-size: 1.02rem; line-height: 1.45;
}
.sub-status {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  padding: .85rem 1rem; border-radius: 12px; border: 1px solid var(--line); background: #fff;
  margin-bottom: .75rem;
}
.sub-status.is-on { border-color: rgba(15,159,118,.35); background: #f3faf7; }
.sub-status strong { display: block; font-size: 1.05rem; }
.plan-card {
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 1.15rem 1.15rem 1.2rem; display: flex; flex-direction: column; gap: .7rem;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.plan-card.featured {
  border-color: var(--accent); box-shadow: 0 14px 36px rgba(15, 80, 55, .10);
  transform: translateY(-2px);
}
.plan-card.current { outline: 2px solid rgba(15,159,118,.35); outline-offset: 2px; }
.plan-top { display: flex; justify-content: space-between; gap: .85rem; align-items: flex-start; }
.plan-title-wrap { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.plan-badge {
  align-self: flex-start; font-size: .72rem; font-weight: 700; color: #0b5c3a;
  background: #d9f5e8; padding: .18rem .45rem; border-radius: 999px;
}
.plan-name { font-family: var(--display); font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
.plan-tagline { color: var(--muted); font-size: .88rem; }
.plan-price-wrap { text-align: right; flex: none; }
.plan-price { display: block; font-family: var(--display); font-size: 1.55rem; font-weight: 700; letter-spacing: -.03em; }
.plan-period { color: var(--muted); font-size: .85rem; }
.plan-chip {
  align-self: flex-start; font-size: .8rem; font-weight: 600; color: var(--accent-deep);
  background: rgba(15,159,118,.1); padding: .28rem .55rem; border-radius: 999px;
}
.plan-feats { margin: 0; padding-left: 1.05rem; color: var(--muted); flex: 1; }
.plan-feats li { margin-bottom: .32rem; }
.plan-buy {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; min-height: 2.7rem; border: 0; border-radius: 999px;
  background: var(--ink); color: #fff !important; font-weight: 700; cursor: pointer;
  text-decoration: none; margin-top: .15rem;
}
.plan-buy.is-primary { background: var(--accent-deep); }
.plan-buy:hover { filter: brightness(1.06); color: #fff !important; }
.sub-note { margin-top: 1.25rem; max-width: 42rem; }
.invoice-box .invoice-kv { margin-top: .75rem; }
.invoice-purpose {
  display: block; margin: .35rem 0 .55rem; padding: .65rem .75rem;
  background: #f3f8f5; border-radius: 8px; white-space: pre-wrap; word-break: break-word;
  font-size: .92rem;
}
.invoice-admin-list { display: grid; gap: .65rem; }
.invoice-admin-row {
  display: flex; justify-content: space-between; gap: .75rem; align-items: center;
  padding: .75rem 0; border-bottom: 1px solid var(--line);
}
.invoice-admin-row:last-child { border-bottom: 0; }
@media print {
  .site-header, .site-footer, .cookie-banner, .btn, form { display: none !important; }
  .invoice-page { padding: 0; }
  .invoice-box { border: 0; box-shadow: none; }
}
@media (max-width: 900px) {
  .plan-grid { grid-template-columns: 1fr; }
  .plan-card.featured { transform: none; }
  .invoice-admin-row { flex-direction: column; align-items: flex-start; }
}

.customer-how {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1.5rem;
}
.customer-steps {
  margin: 0; padding-left: 1.15rem; color: var(--muted); line-height: 1.55;
}
.customer-steps li { margin: .35rem 0; }
.customer-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.25rem; }
.customer-tender-list { margin: 0; padding-left: 1.1rem; line-height: 1.55; }
.customer-tender-list li { margin: .4rem 0; }
.breadcrumb-mini {
  font-size: .85rem; color: var(--muted); margin: 0 0 .85rem; display: flex; flex-wrap: wrap; gap: .35rem; align-items: center;
}
.breadcrumb-mini a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
.data-badge { margin: 0 0 1.1rem; font-size: .92rem; }
.data-badge-live { color: var(--muted); }
.bot-funnel {
  margin-top: 1.75rem;
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(20,154,117,.08), rgba(12,20,17,.03));
  display: grid;
  grid-template-columns: 1.4fr auto;
  gap: 1rem;
  align-items: center;
}
.bot-funnel h2 {
  font-family: var(--display); font-size: 1.05rem; margin: 0 0 .4rem; letter-spacing: -0.02em;
}
.bot-funnel p { margin: 0; color: var(--muted); font-size: .92rem; line-height: 1.45; }
.bot-funnel-actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; }
@media (max-width: 760px) {
  .customer-how, .bot-funnel { grid-template-columns: 1fr; }
  .bot-funnel-actions { justify-content: flex-start; }
}

.market-box { margin-top: 1rem; }
.market-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: .65rem; margin: .85rem 0 1rem;
}
.market-stat {
  background: rgba(15, 35, 28, .04); border-radius: var(--radius); padding: .75rem .85rem;
}
.market-stat span { display: block; color: var(--muted); font-size: .8rem; margin-bottom: .2rem; }
.market-stat strong { font-size: .98rem; }
.market-sub { font-size: 1rem; margin: 1rem 0 .35rem; font-family: var(--display); }
@media (max-width: 760px) {
  .market-grid { grid-template-columns: 1fr; }
}

.board-stats {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: .55rem;
  margin: 0 0 1.25rem;
}
.board-stats-compact { grid-template-columns: repeat(4, 1fr); margin: .65rem 0 1rem; }
.board-stat {
  background: rgba(15, 35, 28, .04);
  border-radius: var(--radius);
  padding: .7rem .8rem;
}
.board-stat span { display: block; color: var(--muted); font-size: .78rem; margin-bottom: .15rem; }
.board-stat strong { font-family: var(--display); font-size: 1.15rem; }
.board-stat-won strong { color: #1a9a5c; }
.board-stat-lost strong { color: #c4473a; }
@media (max-width: 900px) {
  .board-stats, .board-stats-compact { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 520px) {
  .board-stats, .board-stats-compact { grid-template-columns: repeat(2, 1fr); }
}

.watch-inline { margin-top: 1rem; }
.watch-inline-form {
  display: flex; flex-wrap: wrap; gap: .45rem; align-items: stretch; margin-top: .55rem;
}
.watch-inline-form input[type="email"] {
  flex: 1; min-width: 160px;
}
.watch-form .form-field { margin-bottom: .85rem; }

.admin-user-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.55); }
.admin-user-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.admin-user-table th, .admin-user-table td { padding: .7rem .85rem; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.admin-user-table th { font-size: .78rem; color: var(--muted); font-weight: 600; background: rgba(15,35,28,.04); }
.admin-user-table tr:last-child td { border-bottom: 0; }

.stats-row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-bottom: 1.25rem;
}
.stat-box {
  background: var(--panel); color: #fff; border-radius: var(--radius); padding: 1rem 1.1rem;
}
.stat-box b {
  display: block; font-family: var(--display); font-size: 1.35rem; letter-spacing: -0.02em;
}
.stat-box span { color: rgba(255,255,255,.65); font-size: .85rem; }

.bar-chart { display: grid; gap: .45rem; }
.bar-row { display: grid; grid-template-columns: 90px 1fr 40px; gap: .5rem; align-items: center; font-size: .85rem; }
.bar-track { height: 8px; background: rgba(15,35,28,.08); border-radius: 99px; overflow: hidden; }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--accent-deep), var(--accent)); }

.site-footer {
  margin-top: 2rem; background: var(--ink); color: rgba(255,255,255,.75); padding: 1.5rem 0 1.35rem;
}
.footer-grid {
  display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1.5rem;
}
.footer-compact-top {
  display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1.25rem 1.5rem;
  align-items: start; margin-bottom: 1rem;
}
.footer-tagline { margin: 0; font-size: .88rem; line-height: 1.45; max-width: 22rem; }
.footer-links {
  display: flex; flex-wrap: wrap; gap: .35rem .85rem; align-content: start;
}
.footer-links a { font-size: .88rem; font-weight: 500; }
.footer-compact-bot {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem;
  padding-top: .85rem; border-top: 1px solid rgba(255,255,255,.08);
  font-size: .82rem; color: rgba(255,255,255,.55);
}
.footer-contacts a { color: rgba(255,255,255,.7); }
.footer-contacts a:hover { color: var(--accent); }
.fav-page-head {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem;
  align-items: end; margin-bottom: 1rem;
}
.fav-toolbar { display: flex; gap: .5rem; flex-wrap: wrap; }
.fav-search { max-width: 280px; }
@media (max-width: 760px) {
  .footer-compact-top { grid-template-columns: 1fr; gap: 1rem; }
}
.site-footer a { color: rgba(255,255,255,.8); }
.site-footer a:hover { color: var(--accent); }
.site-footer h4 {
  color: #fff; font-family: var(--display); font-size: .9rem; margin: 0 0 .7rem;
}
.footer-brand {
  font-family: var(--display); color: #fff; font-size: 1.15rem; margin-bottom: .5rem;
}
.footer-brand span { color: var(--accent); }

.empty {
  padding: 2rem; text-align: center; color: var(--muted);
  border: 1px dashed var(--line); border-radius: var(--radius); background: rgba(255,255,255,.5);
}

.template-list { display: grid; gap: .85rem; }
.template-card {
  display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: start;
  padding: 1.15rem 1.2rem;
}
.template-card h2 { margin: 0 0 .25rem; font-size: 1.05rem; font-family: var(--display); }
.template-card-actions { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-top: .75rem; }
.template-edit-form .field { margin-bottom: .75rem; }
.template-edit-form .field label {
  display: block; font-size: .75rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; color: var(--muted); margin-bottom: .3rem;
}
.template-edit-form input[type="text"],
.template-edit-form input:not([type]),
.template-edit-form textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 8px;
  padding: .6rem .75rem; background: #fff; color: var(--text);
}
.template-edit-form textarea { resize: vertical; min-height: 4.5rem; font-family: inherit; }
.tpl-notify-light {
  display: flex; gap: .45rem; align-items: center;
  margin: 0 0 .75rem; color: var(--text); font-size: .92rem; font-weight: 600;
}
.template-emails { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .35rem; }
.template-delete-form { margin-top: .15rem; }
.filters .tpl-emails-field .field-hint { margin-top: .35rem; font-size: .78rem; }
.filters-field-hint {
  margin: .35rem 0 0; font-size: .75rem; line-height: 1.35;
  color: rgba(255,255,255,.42); text-transform: none; letter-spacing: 0; font-weight: 500;
}
.filters textarea {
  width: 100%; border: 1px solid rgba(255,255,255,.1);
  background: #242a27; color: #fff; border-radius: 10px;
  padding: .72rem .85rem; font-size: .9rem; resize: vertical; font-family: inherit;
}
.notify-feed { display: grid; gap: .55rem; }
.notify-item {
  padding: .65rem .75rem; border-radius: 10px; border: 1px solid var(--line);
  background: #fafbfa;
}
.notify-item.is-unread {
  background: #eef8f3; border-color: rgba(15,159,118,.28);
}
.notify-item strong { display: block; margin-bottom: .25rem; font-size: .95rem; }
.notify-body {
  margin: 0 0 .35rem; white-space: pre-wrap; font: inherit; font-size: .85rem;
  color: var(--muted); line-height: 1.4;
}

@media (max-width: 1100px) {
  .hero-home-layout { gap: 1.75rem; }
  .hero-title { font-size: clamp(1.85rem, 4vw, 2.6rem); max-width: 16ch; }
  .hero-viz-main { transform: none; }
  .hero-viz-check { width: 100%; margin-left: 0; }
}

@media (max-width: 980px) {
  .search-layout,
  .search-layout[data-filters-dock="left"],
  .search-layout[data-filters-dock="right"],
  .search-layout[data-filters-dock="top"],
  .search-layout[data-filters-dock="bottom"] {
    grid-template-columns: 1fr;
    grid-template-areas: "mobile" "results";
  }
  .filters-mobile-btn { grid-area: mobile; }
  .filters-dock, .filters-dock-zones, .filters-drag-grip { display: none !important; }
  .filters-head { cursor: default; }
  .search-layout[data-filters-dock="top"] .filters-form,
  .search-layout[data-filters-dock="bottom"] .filters-form {
    display: block;
  }
  .filters-mobile-btn {
    display: inline-flex; align-items: center; gap: .45rem;
    justify-self: start; margin-bottom: .15rem;
    border: 1px solid var(--line); background: #fff; color: var(--text);
    border-radius: 10px; padding: .55rem .85rem; font-weight: 700; font-size: .9rem; cursor: pointer;
  }
  .filters-mobile-btn .filters-count { margin-left: .15rem; }
  .filters-backdrop {
    display: block; position: fixed; inset: 0; z-index: 50;
    background: rgba(8, 14, 12, .45); border: 0; padding: 0; cursor: pointer;
  }
  .filters-backdrop[hidden] { display: none !important; }
  .filters {
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 60;
    width: min(92vw, 340px); max-height: none; border-radius: 0 14px 14px 0;
    transform: translateX(-105%); transition: transform .22s ease;
    box-shadow: 12px 0 40px rgba(0,0,0,.25);
    grid-area: unset !important;
  }
  .filters.is-open { transform: translateX(0); }
  .filters-close {
    display: inline-flex; align-items: center; justify-content: center;
    width: 1.85rem; height: 1.85rem; border-radius: 8px;
    border: 0; background: rgba(255,255,255,.08); color: #fff;
    font-size: 1.25rem; line-height: 1; cursor: pointer;
  }
  .filters-close:hover { background: rgba(255,255,255,.14); }
  body.filters-open { overflow: hidden; }
  .feature-rail, .tariff-grid, .stats-row, .detail-grid, .footer-grid, .stages-grid, .tender-detail, .info-grid { grid-template-columns: 1fr; }
  .stages-grid-3 { grid-template-columns: repeat(3, 1fr); }
  .hero-home-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2.75rem 0 2.5rem;
  }
  .hero-title { max-width: none; }
  .hero-viz {
    max-width: 420px;
    margin: 0 auto;
    min-height: 0;
  }
  .hero-viz-main {
    transform: none;
    animation: heroFloatSoft 7s ease-in-out infinite;
  }
  .tender-aside { position: static; }
  .tender-tabs { position: static; }
  .tender-mid { grid-template-columns: 1fr; }
  .tender-side { text-align: left; min-width: 0; }
  .tender-scan {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "left right"
      "body body";
  }
  .tender-scan-left { grid-area: left; flex-direction: row; flex-wrap: wrap; align-items: center; }
  .tender-scan-body { grid-area: body; }
  .tender-scan-right { grid-area: right; }
  .tender-dense-mid { grid-template-columns: 1fr; }
  .tender-dense-side { text-align: left; display: flex; flex-wrap: wrap; gap: .35rem .85rem; align-items: baseline; }
  .tender-more { opacity: 1; pointer-events: auto; }
  .fav-btn { opacity: 1; }
  .btn-label { display: none; }
  .kpi-collapse .kpi-row { left: 0; right: auto; min-width: min(100vw - 2.5rem, 320px); }
  .kpi-row { grid-template-columns: 1fr 1fr; }
  .nav-toggle { display: flex; }
  .header-actions { margin-left: auto; gap: .4rem; }
  .header-phone {
    width: 2.15rem; height: 2.15rem; padding: 0; border-radius: 50%;
    background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.16);
  }
  .header-phone:hover { background: rgba(15,159,118,.35); border-color: var(--accent); }
  .header-phone-text { display: none; }
  .header-phone-icon { display: block; }
  .nav {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: #0c1411; flex-direction: column; padding: .75rem 1rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,.08); z-index: 40;
  }
  .nav.is-open { display: flex; }
  .nav a::after { display: none; }
  .nav-auth-link {
    display: none;
    margin-top: .35rem;
    padding: .65rem .75rem;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,.14);
    color: #fff;
    font-weight: 650;
  }
  .nav.is-open .nav-auth-link { display: block; }
  .nav.is-open .nav-auth-profile {
    display: block;
    margin-top: .35rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 10px;
    padding: .25rem;
  }
  .nav.is-open .nav-auth-profile .nav-drop-btn {
    width: 100%;
    text-align: left;
    color: #fff;
    font-weight: 650;
    padding: .65rem .75rem;
  }
  .nav.is-open .nav-auth-profile .nav-drop-menu {
    position: static;
    display: none;
    min-width: 0;
    box-shadow: none;
    border: 0;
    background: transparent;
    padding: 0 .25rem .35rem;
  }
  .nav.is-open .nav-auth-profile .nav-drop-menu.is-open { display: grid; }
  .nav-auth-cta {
    background: var(--accent);
    color: #06261c;
    border-color: var(--accent);
    text-align: center;
  }
  .nav-drop-menu { position: static; box-shadow: none; border: 0; background: transparent; padding-left: .5rem; }
  .board { grid-template-columns: repeat(3, minmax(200px, 1fr)); }
  .search-band { margin-top: -1.25rem; }
  .hero-search, .hero-search-primary { flex-direction: column; }
  .header-inner { gap: .65rem; }
}
@media (max-width: 640px) {
  .board, .stages-grid, .stages-grid-3 { grid-template-columns: 1fr; }
  .hero-home { min-height: 0; }
  .hero-home-layout { padding: 2.25rem 0 2rem; }
  .hero-viz { display: none; }
  .hero-search-btn { width: 100%; }
  /* Регистрацию прячем — вход и кабинет всегда видны */
  .header-actions .header-register { display: none; }
  .header-actions .header-auth {
    display: inline-flex;
    padding: .4rem .7rem;
    font-size: .82rem;
    white-space: nowrap;
    max-width: 7.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .header-actions .btn-app {
    display: inline-flex;
    padding: .4rem .55rem;
    font-size: 0;
    gap: 0;
  }
  .header-actions .btn-app svg { width: 16px; height: 16px; }
  .trial-inner { flex-direction: column; align-items: flex-start; }
  .template-card { grid-template-columns: 1fr; }
  .tender-scan { grid-template-columns: 1fr; gap: .55rem; }
  .tender-scan-right { justify-items: start; text-align: left; flex-direction: row; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .85rem; }
  .filters-mobile-btn { min-height: 2.6rem; padding: .65rem 1rem; }
  .quick-chip { min-height: 2.5rem; padding: .5rem .9rem; }
}

/* Auth pages — Contour-level clarity, email only (no phone) */
.auth-page {
  min-height: 100vh;
  position: relative;
  isolation: isolate;
  color-scheme: light;
  background:
    radial-gradient(900px 420px at 8% -10%, rgba(15,159,118,.12), transparent 55%),
    radial-gradient(700px 380px at 100% 0%, rgba(12,20,17,.06), transparent 50%),
    linear-gradient(180deg, #f3f5f4 0%, #e9eeeb 100%);
}
.auth-page .auth-center { position: relative; z-index: 1; }
.auth-page [data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .5s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
}
.auth-page [data-reveal].is-in { opacity: 1; transform: none; }
.auth-page .auth-card {
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease;
}
.auth-page .auth-card.is-in:hover {
  transform: translateY(-5px) rotateX(3deg);
  box-shadow: 0 28px 60px rgba(10, 24, 18, 0.16);
}
.auth-center {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem 2rem;
  gap: .85rem;
}
.auth-flash {
  width: min(100%, 420px);
  position: static;
  margin: 0;
}
.auth-flash-inline {
  width: 100%;
  margin: 0 0 1rem;
  position: static;
}
.auth-card {
  width: min(100%, 420px);
  background: #fff;
  color: var(--text);
  color-scheme: light;
  border: 1px solid rgba(15,35,28,.08);
  border-radius: 12px;
  padding: 1.75rem 1.6rem 1.5rem;
  box-shadow: 0 18px 50px rgba(10, 24, 18, 0.10);
}
.auth-logo {
  display: inline-flex; align-items: baseline; gap: .4rem;
  font-family: var(--display); font-weight: 700; font-size: 1.45rem;
  color: var(--ink); letter-spacing: -.02em; margin-bottom: .35rem;
}
.auth-logo span { color: var(--accent); font-weight: 600; }
.auth-kicker {
  margin: 0 0 1.35rem;
  color: var(--muted);
  font-size: .95rem;
}
.auth-title {
  font-family: var(--display);
  font-size: 1.35rem;
  margin: .15rem 0 .45rem;
  letter-spacing: -.02em;
  color: var(--ink);
  font-weight: 600;
}
.auth-sub {
  margin: 0 0 1.25rem;
  color: var(--muted);
  font-size: .92rem;
  line-height: 1.45;
}
.auth-form .form-field label {
  color: #5a6b63;
  font-weight: 500;
  font-size: .9rem;
}
.auth-form .form-field input {
  padding: .78rem .85rem;
  background: #fff;
  color: #14201b;
  -webkit-text-fill-color: #14201b;
  border: 1px solid #d5ddd8;
  border-radius: 8px;
}
.auth-form .form-field input:focus {
  border-color: var(--accent);
  outline: 2px solid rgba(15,159,118,.2);
}
.auth-form .password-field input { padding-right: 2.85rem; }
.pwd-meter {
  margin-top: .55rem;
}
.pwd-meter-track {
  height: 6px;
  border-radius: 999px;
  background: rgba(15, 35, 28, .08);
  overflow: hidden;
}
.pwd-meter-fill {
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: #c45c4a;
  transition: width .22s ease, background-color .22s ease;
}
.pwd-meter[data-level="1"] .pwd-meter-fill { background: #c45c4a; }
.pwd-meter[data-level="2"] .pwd-meter-fill { background: #d4a017; }
.pwd-meter[data-level="3"] .pwd-meter-fill { background: #7aab3a; }
.pwd-meter[data-level="4"] .pwd-meter-fill { background: #0f9f76; }
.pwd-meter-label {
  margin: .35rem 0 0;
  font-size: .8rem;
  color: var(--muted);
  font-weight: 600;
}
.pwd-meter[data-level="1"] .pwd-meter-label { color: #a63d2e; }
.pwd-meter[data-level="2"] .pwd-meter-label { color: #8a6a00; }
.pwd-meter[data-level="3"] .pwd-meter-label { color: #4f7a1f; }
.pwd-meter[data-level="4"] .pwd-meter-label { color: #0b7a58; }
.field-hint {
  margin: .35rem 0 0;
  font-size: .82rem;
  color: var(--muted);
}
.auth-remember {
  display: flex; align-items: center; gap: .5rem;
  margin: .15rem 0 1rem;
  color: var(--muted); font-size: .9rem; cursor: pointer;
}
.btn-auth {
  background: var(--ink);
  color: #fff !important;
  border-radius: 999px;
  padding: .85rem 1.2rem;
  font-weight: 700;
  margin-top: .15rem;
}
.btn-auth:hover { background: #1a2c25; color: #fff !important; }
.auth-legal {
  margin: .2rem 0 1rem;
  font-size: .82rem;
  line-height: 1.45;
  color: var(--muted);
}
.auth-legal a { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }
.auth-agree {
  display: flex; gap: .65rem; align-items: flex-start; cursor: pointer;
}
.auth-agree input {
  margin-top: .2rem; width: 1rem; height: 1rem; flex: none; accent-color: var(--accent, #1f6b4a);
}
.auth-switch {
  margin: 1.15rem 0 0;
  text-align: center;
  font-weight: 700;
}
.auth-switch a { color: var(--ink); }
.auth-switch a:hover { color: var(--accent-deep); }

.auth-social { margin-top: 1.15rem; }
.auth-social-divider {
  display: flex; align-items: center; gap: .75rem;
  margin: 0 0 .85rem; color: var(--muted); font-size: .82rem; font-weight: 600;
}
.auth-social-divider::before,
.auth-social-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--line);
}
.auth-social-btns {
  display: grid; grid-template-columns: 1fr 1fr; gap: .55rem;
}
.auth-social-btns:has(> :only-child) { grid-template-columns: 1fr; }
.btn-social {
  display: inline-flex; align-items: center; justify-content: center; gap: .45rem;
  width: 100%; min-height: 2.75rem; border-radius: 12px; font-weight: 700;
  border: 1px solid var(--line); background: #fff; color: var(--ink);
}
.btn-telegram { background: #2AABEE; border-color: #2AABEE; color: #fff; }
.btn-telegram:hover { background: #229ed9; color: #fff; }
.btn-max { background: #111; border-color: #111; color: #fff; }
.btn-max:hover { background: #2a2a2a; color: #fff; }
.auth-social-hint {
  margin: .75rem 0 0; text-align: center; font-size: .88rem; color: var(--accent-deep); font-weight: 600;
}
.auth-social-hint.is-error { color: #8a2a20; }
.auth-social-note { text-align: center; margin: .55rem 0 0; }

.auth-site-link {
  margin: .25rem 0 0;
  font-size: .85rem;
  color: var(--muted);
}
.auth-site-link a { color: var(--muted); }
.auth-check {
  display: flex; gap: .65rem; align-items: flex-start;
  font-size: .88rem; color: var(--muted); margin: .2rem 0 1rem; cursor: pointer;
}
.auth-check input { margin-top: .2rem; }
.auth-foot {
  margin: 1.1rem 0 0;
  text-align: center;
  color: var(--muted);
  font-size: .92rem;
}
.code-input {
  text-align: center;
  font-size: 1.45rem !important;
  letter-spacing: .35em;
  font-family: ui-monospace, Consolas, monospace !important;
  font-weight: 700;
}
.optional { font-weight: 500; color: var(--muted); font-size: .82rem; }

.legal-page { padding: 2rem 0 3rem; }
.legal-meta { color: var(--muted); margin: -.25rem 0 1rem; font-size: .92rem; }
.legal-nav {
  display: flex; flex-wrap: wrap; gap: .55rem .9rem;
  margin: 0 0 1.25rem; font-size: .9rem;
}
.legal-nav a { font-weight: 600; }
.legal-body h2 {
  font-family: var(--display); font-size: 1.05rem; margin: 1.35rem 0 .55rem;
  letter-spacing: -.01em;
}
.legal-body p, .legal-body li { color: var(--text); line-height: 1.6; }
.legal-body ul { margin: .35rem 0 0; padding-left: 1.2rem; color: var(--muted); }

.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  padding: .85rem 1rem; background: rgba(12,20,17,.96);
  border-top: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 -12px 40px rgba(0,0,0,.2);
}
.cookie-banner[hidden] { display: none !important; }
.cookie-banner-inner {
  width: min(100%, var(--max)); margin: 0 auto;
  display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap;
}
.cookie-banner p {
  margin: 0; color: rgba(255,255,255,.82); font-size: .9rem; max-width: 52rem; line-height: 1.45;
}
.cookie-banner a { color: var(--accent); }


/* =========================================================
   Search workspace — premium dark SaaS refinement
   Scoped to .page-search so home/light pages stay untouched
   ========================================================= */
.page-search {
  color: #e8eee9;
  background:
    radial-gradient(900px 420px at 8% -8%, rgba(15, 159, 118, 0.12), transparent 55%),
    radial-gradient(700px 360px at 100% 0%, rgba(15, 159, 118, 0.06), transparent 50%),
    linear-gradient(180deg, #070b0a 0%, #0a100e 40%, #0c1411 100%);
}
.page-search .flash-success { background: rgba(15,159,118,.18); color: #b8f0d6; border: 1px solid rgba(15,159,118,.3); }
.page-search .flash-error { background: rgba(196,71,58,.18); color: #ffc4bc; border: 1px solid rgba(196,71,58,.3); }

.page-search .search-layout {
  gap: 1.5rem;
  padding-top: 1.4rem;
}
@media (min-width: 1500px) {
  .page-search .search-layout,
  .page-search .search-layout[data-filters-dock="left"] {
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 1.75rem;
  }
  .page-search .search-layout[data-filters-dock="right"] {
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 1.75rem;
  }
}

/* Filters panel polish */
.page-search .filters {
  background: linear-gradient(180deg, rgba(22, 28, 25, 0.94), rgba(16, 22, 19, 0.96));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 1.15rem 1.05rem 1.2rem;
}
.page-search .filters-hint { color: rgba(232,242,237,.55); margin-bottom: .9rem; }
.page-search .field { margin-bottom: 1.05rem; }
.page-search .field label {
  color: rgba(255,255,255,.5);
  margin-bottom: .4rem;
}
.page-search .filters .field input,
.page-search .filters .field select,
.page-search .filters .field textarea {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.1);
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.page-search .filters .field input:hover,
.page-search .filters .field select:hover {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
}
.page-search .filters .field input:focus,
.page-search .filters .field select:focus,
.page-search .filters .field textarea:focus {
  border-color: rgba(15,159,118,.55);
  box-shadow: 0 0 0 3px rgba(15,159,118,.16), 0 8px 24px rgba(0,0,0,.2);
  background: rgba(255,255,255,.08);
}
.page-search .filters .field select option {
  background: #15201c;
  color: #e8f2ed;
}
.page-search .filters .field select option:checked,
.page-search .filters .field select option:hover {
  background: #0f9f76;
  color: #fff;
}

/* Multi-region picker (avoids native white-on-white select) */
.page-search .region-multi {
  position: relative;
  z-index: 5;
}
.page-search .region-multi-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.75rem;
  padding: .65rem .8rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.05);
  color: #e8f2ed;
  font: inherit;
  font-size: .92rem;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.page-search .region-multi-trigger:hover {
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
}
.page-search .region-multi.is-open .region-multi-trigger,
.page-search .region-multi-trigger:focus {
  outline: none;
  border-color: rgba(15,159,118,.55);
  box-shadow: 0 0 0 3px rgba(15,159,118,.16);
  background: rgba(255,255,255,.08);
}
.page-search .region-multi-summary {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #e8f2ed;
}
.page-search .region-multi-count {
  flex-shrink: 0;
  min-width: 1.4rem;
  height: 1.4rem;
  padding: 0 .35rem;
  border-radius: 999px;
  background: rgba(15,159,118,.22);
  color: #2fd49a;
  font-size: .75rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.page-search .region-multi-chevron {
  flex-shrink: 0;
  color: rgba(232,242,237,.55);
  transition: transform .2s ease;
}
.page-search .region-multi.is-open .region-multi-chevron {
  transform: rotate(180deg);
}
.page-search .region-multi-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + .4rem);
  z-index: 40;
  display: none;
  flex-direction: column;
  max-height: min(22rem, 58vh);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: #121a17;
  box-shadow: 0 18px 48px rgba(0,0,0,.45);
  overflow: hidden;
}
.page-search .region-multi.is-open .region-multi-panel {
  display: flex;
  animation: region-panel-in .16s ease;
}
@keyframes region-panel-in {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: none; }
}
.page-search .region-multi-search {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem .75rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: rgba(232,242,237,.45);
}
.page-search .region-multi-search input {
  flex: 1;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #e8f2ed !important;
  padding: .2rem 0 !important;
  min-height: 0 !important;
  font: inherit;
}
.page-search .region-multi-search input::placeholder {
  color: rgba(232,242,237,.35);
}
.page-search .region-multi-list {
  overflow: auto;
  padding: .35rem;
  display: grid;
  gap: .15rem;
  flex: 1;
}
.page-search .region-multi-option {
  display: flex !important;
  align-items: center;
  gap: .55rem;
  margin: 0 !important;
  padding: .55rem .6rem !important;
  border-radius: 8px;
  color: #e8f2ed !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer;
}
.page-search .region-multi-option:hover,
.page-search .region-multi-option.is-on {
  background: rgba(15,159,118,.14);
}
.page-search .region-multi-option input {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: #0f9f76;
  flex-shrink: 0;
  cursor: pointer;
}
.page-search .region-multi-option.is-hidden { display: none !important; }
.page-search .region-multi-foot {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
  padding: .55rem .65rem;
  border-top: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
}
.page-search .region-multi-clear,
.page-search .region-multi-done {
  border: 0;
  background: transparent;
  color: rgba(232,242,237,.7);
  font: inherit;
  font-size: .85rem;
  font-weight: 650;
  cursor: pointer;
  padding: .35rem .5rem;
  border-radius: 8px;
}
.page-search .region-multi-clear:hover { color: #fff; background: rgba(255,255,255,.06); }
.page-search .region-multi-done {
  color: #2fd49a;
  background: rgba(15,159,118,.14);
}
.page-search .region-multi-done:hover { background: rgba(15,159,118,.22); }

.page-search .price-presets {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-bottom: .55rem;
}
.page-search .price-preset {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(232,242,237,.85);
  border-radius: 999px;
  padding: .4rem .7rem;
  font: inherit;
  font-size: .8rem;
  font-weight: 650;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.page-search .price-preset:hover {
  border-color: rgba(15,159,118,.45);
  color: #fff;
  background: rgba(15,159,118,.1);
}
.page-search .price-preset.is-active {
  border-color: rgba(15,159,118,.55);
  background: rgba(15,159,118,.18);
  color: #2fd49a;
}

.page-search .check-list label,
.page-search .check-inline {
  transition: background .2s ease, color .2s ease;
  border-radius: 9px;
  padding: .4rem .45rem;
}
.page-search .check-list input[type="checkbox"],
.page-search .check-inline input[type="checkbox"],
.page-search .tpl-notify input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  accent-color: #0f9f76;
  border-radius: 4px;
  cursor: pointer;
  transition: transform .18s ease;
}
.page-search .check-list input[type="checkbox"]:active,
.page-search .check-inline input[type="checkbox"]:active {
  transform: scale(.9);
}
.page-search .check-list input[type="checkbox"]:checked,
.page-search .check-inline input[type="checkbox"]:checked {
  transform: scale(1.05);
}
.page-search .check-count { color: rgba(47, 212, 154, .7); }
.page-search .filter-more summary {
  transition: color .2s ease;
}
.page-search .filter-more summary:hover { color: #fff; }
.page-search .filters-actions {
  background: linear-gradient(180deg, transparent, rgba(16, 22, 19, .98) 30%);
}
.page-search .filters-submit {
  box-shadow: 0 0 0 0 rgba(15,159,118,0);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease;
}
.page-search .filters-submit:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(15,159,118,.32);
  filter: brightness(1.05);
}
.page-search .btn-reset {
  background: transparent;
  border-color: rgba(255,255,255,.14);
  color: rgba(255,255,255,.72);
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}
.page-search .btn-reset:hover {
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.24);
  color: #fff;
  transform: translateY(-1px);
}
.page-search .filters-template .btn-ghost {
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.page-search .filters-template .btn-ghost:hover {
  background: rgba(15,159,118,.2);
  border-color: rgba(15,159,118,.4);
}
.page-search .filters-template-guest input:disabled {
  opacity: .55;
  cursor: not-allowed;
}
.page-search .filters-template-hint { color: rgba(255,255,255,.5); }

/* Results toolbar */
.page-search .results-toolbar { margin-bottom: .85rem; gap: .85rem; }
.page-search .results-title {
  color: #fff;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
}
.page-search .results-count {
  color: #2fd49a;
  font-weight: 700;
}
.page-search .results-meta {
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: .88rem;
}
.page-search .results-meta a { color: var(--accent); font-weight: 600; }
.page-search .results-docs-meta { color: rgba(47, 212, 154, .75); }
.page-search .tender-doc-hit {
  margin: .35rem 0 0;
  font-size: .82rem;
  line-height: 1.35;
  color: rgba(255,255,255,.48);
}
.page-search .tender-doc-file {
  display: inline-block;
  margin-right: .35rem;
  color: rgba(47, 212, 154, .85);
  font-weight: 600;
}
.page-search .tender-doc-snip { color: rgba(255,255,255,.45); }
.page-search .sort-field { color: rgba(255,255,255,.5); }
.page-search .sort-field select {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  border-radius: 10px;
  transition: border-color .22s ease, box-shadow .22s ease;
}
.page-search .sort-field select:hover,
.page-search .sort-field select:focus {
  border-color: rgba(15,159,118,.45);
  outline: none;
  box-shadow: 0 0 0 3px rgba(15,159,118,.14);
}
.page-search .results-actions .btn-outline,
.page-search .kpi-collapse summary {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.86);
  border-radius: 10px;
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.page-search .results-actions .btn-outline:hover,
.page-search .kpi-collapse summary:hover {
  background: rgba(15,159,118,.14);
  border-color: rgba(15,159,118,.4);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,.2);
}
.page-search .kpi-collapse[open] summary {
  color: #2fd49a;
  border-color: rgba(15,159,118,.45);
}
.page-search .kpi-collapse .kpi-row {
  background: #141a17;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 16px 40px rgba(0,0,0,.4);
}
.page-search .kpi-card {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.08);
  color: #fff;
}
.page-search .kpi-card span { color: rgba(255,255,255,.5); }
.page-search .kpi-card-accent {
  background: linear-gradient(180deg, rgba(15,159,118,.16), rgba(255,255,255,.03));
  border-color: rgba(15,159,118,.3);
}

/* Quick chips */
.page-search .quick-filters { gap: .45rem; margin-bottom: 1rem; }
.page-search .quick-chip {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.78);
  transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.page-search .quick-chip:hover {
  background: rgba(255,255,255,.07);
  border-color: rgba(15,159,118,.4);
  color: #fff;
  transform: translateY(-1px);
}
.page-search .quick-chip.is-active {
  background: rgba(15,159,118,.16);
  border-color: rgba(15,159,118,.55);
  color: #fff;
  box-shadow: 0 0 0 1px rgba(15,159,118,.12), 0 0 20px rgba(15,159,118,.12);
}

/* Search tip on dark */
.page-search .search-tip {
  background: rgba(15,159,118,.1);
  border-color: rgba(15,159,118,.25);
  color: rgba(232,242,237,.85);
}
.page-search .search-tip-ico {
  background: rgba(15,159,118,.2);
  color: #2fd49a;
}
.page-search .search-tip-close { color: rgba(255,255,255,.7); }

/* Tender cards — dark premium */
.page-search .tender-list-compact { gap: .6rem; }
.page-search .tender-row {
  background: linear-gradient(180deg, rgba(22, 28, 25, 0.92), rgba(16, 20, 18, 0.96));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    transform .25s ease,
    background .25s ease;
}
.page-search .tender-dense { padding: .85rem 1rem .8rem; gap: .45rem; }
.page-search .tender-row:hover {
  border-color: rgba(15,159,118,.42);
  box-shadow:
    0 14px 36px rgba(0,0,0,.32),
    0 0 0 1px rgba(15,159,118,.1),
    0 0 28px rgba(15,159,118,.1);
  transform: translateY(-2px);
  background: linear-gradient(180deg, rgba(26, 34, 30, 0.96), rgba(18, 24, 21, 0.98));
}
.page-search .tender-dense-top { color: rgba(255,255,255,.5); }
.page-search .tender-reg,
.page-search .tender-method {
  color: rgba(255,255,255,.48);
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
}
.page-search .tender-dense-mid h3,
.page-search .tender-row h3 {
  color: #fff;
  font-size: 1.02rem;
  font-weight: 650;
  letter-spacing: -.015em;
}
.page-search .tender-dense-mid h3 a:hover,
.page-search .tender-row h3 a:hover { color: #2fd49a; }
.page-search .tender-card-sub { color: rgba(255,255,255,.55); }
.page-search .tender-price { color: #fff; }
.page-search .tender-deadline.urgency-ok { color: #2fd49a; }
.page-search .tender-deadline.urgency-warn { color: #e6c06a; }
.page-search .tender-deadline.urgency-danger { color: #ff9b8f; }
.page-search .tender-deadline.urgency-muted { color: rgba(255,255,255,.45); }
.page-search .tender-meta { color: rgba(255,255,255,.48); }
.page-search .chip {
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.08);
}
.page-search .chip-law {
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.9);
  border-color: rgba(255,255,255,.1);
}
.page-search .chip-stage {
  background: rgba(212,160,23,.14);
  color: #e6c06a;
  border-color: rgba(212,160,23,.22);
}
.page-search .tender-ext-link {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.16);
  color: rgba(255,255,255,.88);
  transition: background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}
.page-search .tender-ext-link:hover,
.page-search .tender-row:hover .tender-ext-link {
  border-color: rgba(15,159,118,.45);
  background: rgba(15,159,118,.12);
  color: #fff;
  box-shadow: 0 0 16px rgba(15,159,118,.12);
}
.page-search .fav-btn {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.14);
  color: rgba(255,255,255,.55);
  transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.page-search .fav-btn:hover {
  transform: scale(1.08);
  color: #e6c06a;
  border-color: rgba(212,160,23,.5);
  background: rgba(212,160,23,.12);
}
.page-search .fav-btn:active { transform: scale(.94); }
.page-search .fav-btn.is-on {
  color: #e6c06a;
  border-color: rgba(212,160,23,.45);
  background: rgba(212,160,23,.12);
}
.page-search .tender-card-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.35);
  transition: transform .25s ease, color .25s ease;
  margin-left: .1rem;
}
.page-search .tender-row:hover .tender-card-arrow {
  transform: translateX(3px);
  color: #2fd49a;
}

/* Card entrance */
.page-search [data-card-reveal] {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s ease, transform .35s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.page-search [data-card-reveal].is-in {
  opacity: 1;
  transform: none;
}
.page-search [data-card-reveal].is-in:hover {
  transform: translateY(-2px);
}

.page-search .empty-rich {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.12);
  color: #fff;
}
.page-search .empty-rich p { color: rgba(255,255,255,.55); }
.page-search .pagination a,
.page-search .pagination span {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.8);
}
.page-search .pagination a:hover {
  border-color: rgba(15,159,118,.4);
  color: #fff;
}
.page-search .pagination .is-current {
  background: rgba(15,159,118,.2);
  border-color: rgba(15,159,118,.45);
  color: #fff;
}

.page-search .filters-mobile-btn {
  background: rgba(22, 28, 25, 0.95);
  border-color: rgba(255,255,255,.12);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .page-search [data-card-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .page-search .tender-row:hover,
  .page-search .quick-chip:hover,
  .page-search .filters-submit:hover,
  .page-search .fav-btn:hover,
  .page-search .tender-card-arrow {
    transform: none !important;
  }
}

/* =========================================================
   Home landing — full dark premium (mockup match)
   ========================================================= */
.page-home {
  color: #e8eee9;
  background:
    radial-gradient(1000px 480px at 12% -12%, rgba(15, 159, 118, 0.14), transparent 55%),
    radial-gradient(800px 420px at 90% 8%, rgba(15, 159, 118, 0.08), transparent 52%),
    linear-gradient(180deg, #050807 0%, #0a100e 45%, #0c1411 100%);
}
.page-home .hero-home {
  background: transparent;
  min-height: min(78vh, 720px);
}
.page-home .hero-home-layout {
  padding: 4rem 0 3.25rem;
  gap: 2.75rem 3rem;
}
.page-home .hero-title {
  max-width: 12ch;
  font-size: clamp(2.15rem, 5vw, 3.45rem);
  line-height: 1.05;
}
.page-home .hero-title-accent {
  color: #2fd49a;
  text-shadow: 0 0 40px rgba(47, 212, 154, 0.25);
}
.page-home .hero-lead {
  color: rgba(255,255,255,.68);
  max-width: 34rem;
}

.hero-ring {
  position: absolute;
  border: 1px solid rgba(15, 159, 118, 0.18);
  border-radius: 50%;
  pointer-events: none;
}
.hero-ring-a {
  width: min(46vw, 420px); height: min(46vw, 420px);
  right: 4%; top: 8%;
  box-shadow: 0 0 60px rgba(15,159,118,.08);
}
.hero-ring-b {
  width: min(28vw, 260px); height: min(28vw, 260px);
  right: 18%; top: 22%;
  opacity: .7;
}

/* Unified search shell — button inside bar */
.hero-search-shell {
  display: flex;
  align-items: center;
  gap: .45rem;
  width: 100%;
  max-width: 560px;
  padding: .4rem .4rem .4rem 1rem;
  border-radius: 14px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 16px 40px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: border-color .22s ease, box-shadow .22s ease, background .22s ease;
  margin: 0 0 1.1rem;
  position: relative;
}
.hero-search-shell .hero-search-icon {
  position: static;
  flex-shrink: 0;
  color: rgba(255,255,255,.4);
  transition: color .22s ease, transform .22s ease;
}
.hero-search-shell input {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff;
  padding: .75rem .5rem !important;
  font-size: 1.02rem;
  border-radius: 0 !important;
  backdrop-filter: none !important;
}
.hero-search-shell input:focus { outline: none; }
.hero-search-shell input::placeholder { color: rgba(255,255,255,.4); }
.hero-search-shell:hover {
  border-color: rgba(255,255,255,.2);
  background: rgba(255,255,255,.07);
}
.hero-search-shell.is-focused {
  border-color: rgba(15,159,118,.55);
  background: rgba(255,255,255,.07);
  box-shadow:
    0 0 0 3px rgba(15,159,118,.18),
    0 18px 44px rgba(0,0,0,.32),
    0 0 36px rgba(15,159,118,.12);
}
.hero-search-shell.is-focused .hero-search-icon {
  color: #2fd49a;
  transform: scale(1.05);
}
.hero-search-shell .hero-search-btn {
  flex-shrink: 0;
  border-radius: 10px !important;
  min-width: auto;
  padding: .78rem 1.15rem !important;
  box-shadow: 0 0 24px rgba(15,159,118,.28);
}
.hero-search-shell .hero-search-btn:hover {
  box-shadow: 0 8px 28px rgba(15,159,118,.4);
}

.page-home .hero-actions {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.page-home .hero-cta { margin-top: 0; }
.page-home .hero-cta-trial {
  background: var(--accent);
  color: #06261c;
  border-color: transparent;
  font-weight: 700;
  box-shadow: 0 0 24px rgba(15,159,118,.28);
}
.page-home .hero-cta-trial:hover {
  background: #14b886;
  color: #06261c;
  border-color: transparent;
  box-shadow: 0 8px 28px rgba(15,159,118,.4);
}
.page-home .chip-link {
  border-radius: 10px;
  padding: .42rem .85rem;
}

/* Viz polish */
.page-home .hero-viz-main {
  border-color: rgba(255,255,255,.12);
  background: linear-gradient(160deg, rgba(22,30,26,.88), rgba(12,18,15,.94));
  box-shadow:
    0 28px 70px rgba(0,0,0,.45),
    0 0 50px rgba(15,159,118,.1),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-viz-metric-top {
  display: flex; align-items: center; justify-content: space-between; gap: .35rem;
}
.hero-viz-badge {
  display: inline-flex;
  padding: .1rem .4rem;
  border-radius: 999px;
  background: rgba(15,159,118,.18);
  color: #2fd49a;
  font-size: .68rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.hero-viz-donut-wrap {
  position: relative;
  width: 100px; height: 100px;
  display: grid; place-items: center;
}
.hero-viz-donut-wrap .hero-viz-donut {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
}
.hero-viz-donut-label {
  position: relative; z-index: 1;
  text-align: center;
  font-size: .62rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
.page-home .hero-viz-legend em {
  float: right;
  font-style: normal;
  color: rgba(255,255,255,.4);
  font-variant-numeric: tabular-nums;
}
.page-home .hero-viz-check {
  border-color: rgba(15,159,118,.28);
  box-shadow:
    0 18px 40px rgba(0,0,0,.35),
    0 0 36px rgba(15,159,118,.18);
}

/* Dark how-it-works */
.page-home .stages-dark {
  background: transparent;
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}
.page-home .stages-head-split {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  align-items: end;
  max-width: none;
  margin-bottom: 1.75rem;
  flex-wrap: wrap;
}
.page-home .section-eyebrow { color: #2fd49a; }
.page-home .section-title { color: #fff; }
.page-home .stages-lead {
  margin: 0;
  max-width: 22rem;
  color: rgba(255,255,255,.55);
  font-size: .95rem;
  line-height: 1.5;
}
.page-home .stages-dark .stage-item {
  background: linear-gradient(180deg, rgba(22,28,25,.92), rgba(14,18,16,.96));
  border: 1px solid rgba(255,255,255,.1);
  color: #fff;
  box-shadow: 0 16px 40px rgba(0,0,0,.28);
}
.page-home .stages-dark .stage-item:hover {
  border-color: rgba(15,159,118,.4);
  box-shadow:
    0 20px 48px rgba(0,0,0,.35),
    0 0 36px rgba(15,159,118,.12);
}
.page-home .stages-dark .stage-icon {
  background: rgba(15,159,118,.16);
  color: #2fd49a;
  box-shadow: 0 0 28px rgba(15,159,118,.22);
}
.page-home .stages-dark .stage-num {
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.55);
}
.page-home .stages-dark .stage-item h3 { color: #fff; }
.page-home .stages-dark .stage-item p { color: rgba(255,255,255,.55); }

.stages-connected {
  position: relative;
}
@media (min-width: 901px) {
  .stages-connected .stage-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 2.4rem;
    right: -1.05rem;
    width: 1.1rem;
    height: 0;
    border-top: 1.5px dashed rgba(15,159,118,.45);
    z-index: 2;
    pointer-events: none;
  }
  .stages-connected .stage-item { position: relative; }
}

/* Trust bar — real numbers */
.trust-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 2rem;
  padding: 1.25rem 1.35rem;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(22,28,25,.9), rgba(14,18,16,.95));
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 18px 50px rgba(0,0,0,.3);
}
.trust-item {
  display: flex;
  align-items: center;
  gap: .85rem;
  min-width: 0;
}
.trust-ico {
  flex-shrink: 0;
  width: 2.6rem; height: 2.6rem;
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  color: #2fd49a;
  border: 1px solid rgba(15,159,118,.35);
  background: rgba(15,159,118,.08);
  box-shadow: 0 0 20px rgba(15,159,118,.12);
}
.trust-item strong {
  display: block;
  font-family: var(--display);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  letter-spacing: -.02em;
  color: #fff;
  line-height: 1.15;
}
.trust-item span {
  display: block;
  font-size: .8rem;
  color: rgba(255,255,255,.5);
  margin-top: .15rem;
  line-height: 1.3;
}

/* Featured tenders on dark home */
.page-home .home-featured {
  padding-top: .5rem;
}
.page-home .home-featured .section-lead { color: rgba(255,255,255,.5); }
.page-home .home-featured-all {
  border-color: rgba(255,255,255,.2);
  color: #fff;
}
.page-home .home-featured-all:hover {
  border-color: rgba(15,159,118,.5);
  color: #2fd49a;
  background: rgba(15,159,118,.1);
}
.page-home .home-featured .tender-row {
  background: linear-gradient(180deg, rgba(22,28,25,.92), rgba(14,18,16,.96));
  border: 1px solid rgba(255,255,255,.08);
  color: #fff;
}
.page-home .home-featured .tender-row:hover {
  border-color: rgba(15,159,118,.4);
  box-shadow: 0 14px 36px rgba(0,0,0,.3), 0 0 28px rgba(15,159,118,.1);
  transform: translateY(-2px);
}
.page-home .home-featured .tender-dense-mid h3,
.page-home .home-featured .tender-price { color: #fff; }
.page-home .home-featured .tender-meta,
.page-home .home-featured .tender-reg,
.page-home .home-featured .tender-card-sub { color: rgba(255,255,255,.48); }
.page-home .home-featured .chip-law {
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.9);
}
.page-home .home-featured .chip-stage {
  background: rgba(212,160,23,.14);
  color: #e6c06a;
}
.page-home .home-featured .tender-deadline.urgency-ok { color: #2fd49a; }
.page-home .home-featured .tender-ext-link {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.16);
  color: rgba(255,255,255,.88);
}
.page-home .home-featured .fav-btn {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.14);
  color: rgba(255,255,255,.7);
  opacity: 1;
}
.page-home .home-featured .fav-btn:hover,
.page-home .home-featured .fav-btn.is-on {
  color: #e6c06a;
  border-color: rgba(212,160,23,.45);
  background: rgba(212,160,23,.12);
}
.page-home .home-featured .tender-card-arrow { color: rgba(255,255,255,.35); }
.page-home .home-featured .tender-row:hover .tender-card-arrow { color: #2fd49a; }
.page-home .home-featured .empty-rich {
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.12);
  color: #fff;
}
.page-home .home-featured .empty-rich p { color: rgba(255,255,255,.5); }
.page-home [data-card-reveal] {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s ease, transform .35s ease, border-color .25s ease, box-shadow .25s ease;
}
.page-home [data-card-reveal].is-in { opacity: 1; transform: none; }
.page-home [data-card-reveal].is-in:hover { transform: translateY(-2px); }

@media (max-width: 980px) {
  .trust-bar { grid-template-columns: 1fr 1fr; }
  .page-home .hero-title { max-width: none; }
}
@media (max-width: 640px) {
  .trust-bar { grid-template-columns: 1fr; padding: 1rem; }
  .hero-search-shell {
    flex-wrap: wrap;
    padding: .55rem;
  }
  .hero-search-shell .hero-search-icon { margin-left: .35rem; }
  .hero-search-shell .hero-search-btn { width: 100%; justify-content: center; }
  .page-home .hero-home-layout { padding: 2.25rem 0 1.75rem; }
}

/* =========================================================
   Templates page — list first, edit in drawer
   ========================================================= */
.tpl-page { padding: 2rem 0 3.5rem; }
.tpl-page-head {
  display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start;
  flex-wrap: wrap; margin-bottom: 1.25rem;
}
.tpl-page-title { margin: 0 0 .35rem; }
.tpl-page-lead { margin: 0; }
.tpl-page-actions { display: flex; flex-wrap: wrap; gap: .45rem; }

.tpl-toolbar {
  display: flex; flex-wrap: wrap; gap: .65rem .75rem; align-items: center;
  margin-bottom: 1.15rem;
}
.tpl-search {
  display: inline-flex; align-items: center; gap: .5rem;
  flex: 1; min-width: min(100%, 240px); max-width: 360px;
  background: #fff; border: 1px solid var(--line); border-radius: 10px;
  padding: .45rem .75rem; color: var(--muted);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.tpl-search:focus-within {
  border-color: rgba(15,159,118,.45);
  box-shadow: 0 0 0 3px rgba(15,159,118,.12);
  color: var(--accent-deep);
}
.tpl-search input {
  border: 0; outline: none; width: 100%; background: transparent; color: var(--text);
  font: inherit; padding: .2rem 0;
}
.tpl-filter-chips {
  display: flex; flex-wrap: nowrap; gap: .35rem; overflow-x: auto;
  -webkit-overflow-scrolling: touch; padding-bottom: .1rem;
}
.tpl-filter-chip {
  border: 1px solid var(--line); background: #fff; color: var(--text);
  border-radius: 999px; padding: .4rem .8rem; font-size: .82rem; font-weight: 600;
  cursor: pointer; white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.tpl-filter-chip:hover { border-color: rgba(15,159,118,.4); transform: translateY(-1px); }
.tpl-filter-chip.is-active {
  background: rgba(15,159,118,.12); border-color: rgba(15,159,118,.45); color: var(--accent-deep);
}
.tpl-sort select {
  border: 1px solid var(--line); border-radius: 10px; background: #fff;
  padding: .45rem .7rem; font: inherit; font-weight: 600; color: var(--text);
  min-height: 2.35rem;
}

.tpl-list { display: grid; gap: .75rem; }
.tpl-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1.4fr) minmax(140px, .7fr) minmax(120px, .55fr) auto;
  gap: 1rem 1.15rem; align-items: start;
  background: #fff; border: 1px solid var(--line); border-radius: 14px;
  padding: 1.05rem 1.1rem;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.tpl-card:hover {
  transform: translateY(-1px);
  border-color: rgba(15,159,118,.35);
  box-shadow: 0 12px 32px rgba(10, 24, 18, 0.08);
}
.tpl-card.is-hidden { display: none; }
.tpl-card-ico {
  width: 2.6rem; height: 2.6rem; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(15,159,118,.12); color: var(--accent-deep); flex-shrink: 0;
}
.tpl-card-ico-med { background: rgba(15,159,118,.1); }
.tpl-card-ico-it { background: rgba(12,20,17,.06); }
.tpl-card-title-row { display: flex; align-items: center; gap: .45rem; }
.tpl-card-title {
  margin: 0; font-family: var(--display); font-size: 1.05rem;
  letter-spacing: -.015em; color: var(--text);
}
.tpl-status-dot {
  width: .55rem; height: .55rem; border-radius: 50%; flex-shrink: 0;
  background: #c5d0ca;
}
.tpl-status-dot.is-on { background: var(--accent); box-shadow: 0 0 0 3px rgba(15,159,118,.15); }
.tpl-card-meta { margin: .3rem 0 .45rem; color: var(--muted); font-size: .86rem; }
.tpl-card-line { margin: .15rem 0; font-size: .86rem; color: var(--text); line-height: 1.4; }
.tpl-card-line span { color: var(--muted); }
.tpl-card-btns { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.tpl-card-btns .btn-outline {
  border-color: rgba(15,159,118,.35); color: var(--accent-deep);
}
.tpl-card-btns .btn-outline:hover {
  background: rgba(15,159,118,.08); border-color: rgba(15,159,118,.5);
}

.tpl-card-mail { font-size: .86rem; color: var(--muted); }
.tpl-mail-status { margin: 0 0 .35rem; font-weight: 650; }
.tpl-mail-status.is-on { color: var(--accent-deep); }
.tpl-mail-status.is-off { color: var(--muted); }
.tpl-mail-line { margin: .15rem 0; }
.tpl-card-stats { text-align: right; font-size: .86rem; }
.tpl-new-count { margin: 0 0 .25rem; font-weight: 700; color: var(--accent-deep); }
.tpl-new-count.is-muted { color: var(--muted); font-weight: 500; }
.tpl-new-link {
  display: inline-block; font-weight: 650; color: var(--accent-deep); margin-bottom: .35rem;
}
.tpl-updated { margin: 0; color: var(--muted); font-size: .8rem; }

.tpl-card-menu { position: relative; z-index: 2; }
.tpl-menu-btn {
  width: 2.15rem; height: 2.15rem; border-radius: 10px; border: 1px solid transparent;
  background: transparent; color: var(--muted); cursor: pointer; font-size: 1.25rem; line-height: 1;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.tpl-menu-btn:hover, .tpl-menu-btn[aria-expanded="true"] {
  background: rgba(15,35,28,.06); border-color: rgba(15,35,28,.12); color: var(--text);
}
.tpl-menu-btn[aria-expanded="true"] { transform: rotate(90deg); }
/* display must NOT override [hidden] — otherwise menus stay open forever */
.tpl-menu {
  position: absolute; right: 0; top: calc(100% + .35rem); z-index: 30;
  min-width: 204px; background: #fff; border: 1px solid rgba(15,35,28,.1);
  border-radius: 12px; box-shadow: 0 16px 40px rgba(10, 24, 18, .14);
  padding: .4rem; display: none; gap: .1rem;
}
.tpl-menu.is-open { display: grid; animation: tpl-menu-in .16s ease; }
@keyframes tpl-menu-in {
  from { opacity: 0; transform: translateY(-4px) scale(.98); }
  to { opacity: 1; transform: none; }
}
.tpl-menu button, .tpl-menu form button {
  display: block; width: 100%; text-align: left; border: 0; background: transparent;
  padding: .6rem .7rem; border-radius: 8px; cursor: pointer; font: inherit;
  font-weight: 550; color: var(--text); line-height: 1.25;
}
.tpl-menu button:hover, .tpl-menu form button:hover { background: rgba(15,159,118,.09); color: var(--accent-deep); }
.tpl-menu .is-danger { color: var(--danger); }
.tpl-menu .is-danger:hover { background: rgba(196,71,58,.08); color: var(--danger); }
.tpl-menu-sep {
  height: 1px; margin: .3rem .4rem; background: rgba(15,35,28,.08); border: 0;
}
.tpl-empty-filter { color: var(--muted); margin: 1rem 0 0; }

/* Drawer */
.tpl-overlay {
  position: fixed; inset: 0; z-index: 70;
  background: rgba(8, 14, 12, .42);
  opacity: 0; transition: opacity .25s ease;
  display: none;
}
.tpl-overlay:not([hidden]) { display: block; }
.tpl-overlay.is-open { opacity: 1; }
.tpl-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 80;
  width: min(100vw, 560px);
  background: #fff; color: var(--text);
  box-shadow: -18px 0 50px rgba(0,0,0,.18);
  display: none; flex-direction: column;
  transform: translateX(100%);
  transition: transform .28s ease;
}
.tpl-drawer:not([hidden]) { display: flex; }
.tpl-drawer.is-open { transform: translateX(0); }
.tpl-drawer-head {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  padding: 1.1rem 1.2rem; border-bottom: 1px solid var(--line);
}
.tpl-drawer-head h2 {
  margin: 0; font-family: var(--display); font-size: 1.15rem; letter-spacing: -.02em;
}
.tpl-drawer-close {
  width: 2.1rem; height: 2.1rem; border-radius: 8px; border: 0;
  background: rgba(15,35,28,.05); color: var(--text); font-size: 1.35rem; cursor: pointer; line-height: 1;
}
.tpl-drawer-close:hover { background: rgba(15,35,28,.1); }
.tpl-drawer-tabs {
  display: flex; gap: .15rem; padding: .55rem 1.2rem 0;
  border-bottom: 1px solid var(--line);
}
.tpl-drawer-tab {
  border: 0; background: transparent; padding: .7rem .85rem; cursor: pointer;
  font: inherit; font-weight: 650; color: var(--muted); position: relative;
}
.tpl-drawer-tab.is-active { color: var(--accent-deep); }
.tpl-drawer-tab.is-active::after {
  content: ""; position: absolute; left: .85rem; right: .85rem; bottom: -1px;
  height: 2px; background: var(--accent); border-radius: 2px;
}
.tpl-drawer-form {
  display: flex; flex-direction: column; flex: 1; min-height: 0;
}
.tpl-drawer-pane {
  flex: 1; overflow: auto; padding: 1.1rem 1.2rem 1rem;
}
.tpl-drawer-section {
  margin: 0 0 .85rem; font-size: .75rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: var(--muted);
}
.tpl-drawer .field { margin-bottom: .9rem; }
.tpl-drawer .field label, .tpl-drawer .field-label {
  display: block; font-size: .78rem; font-weight: 700; color: var(--muted);
  margin-bottom: .35rem; text-transform: none; letter-spacing: 0;
}
.tpl-drawer .field input,
.tpl-drawer .field select,
.tpl-drawer .field textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 10px;
  padding: .7rem .8rem; background: #fff; color: var(--text); font: inherit;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.tpl-drawer .field input:focus,
.tpl-drawer .field select:focus,
.tpl-drawer .field textarea:focus {
  outline: none; border-color: rgba(15,159,118,.5);
  box-shadow: 0 0 0 3px rgba(15,159,118,.12);
}
.tpl-region-list {
  max-height: 11rem;
  overflow: auto;
  padding: .25rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fafcfb;
}
.tpl-check-light label {
  color: var(--text) !important; text-transform: none !important; letter-spacing: 0 !important;
  font-weight: 500 !important; font-size: .9rem !important;
}
.tpl-check-inline {
  display: flex; align-items: center; gap: .5rem;
  font-weight: 600; margin: .35rem 0 .85rem; cursor: pointer;
}
.tpl-more {
  border-top: 1px solid var(--line); padding-top: .65rem; margin-top: .35rem;
}
.tpl-more summary {
  cursor: pointer; font-weight: 650; color: var(--accent-deep); list-style: none;
  padding: .25rem 0 .55rem;
}
.tpl-more summary::-webkit-details-marker { display: none; }
.tpl-email-chips { display: grid; gap: .4rem; margin-bottom: .55rem; }
.tpl-email-chip {
  display: flex; align-items: center; justify-content: space-between; gap: .5rem;
  padding: .55rem .7rem; border-radius: 10px; border: 1px solid var(--line);
  background: #f7faf8; font-size: .9rem;
}
.tpl-email-chip button {
  border: 0; background: transparent; color: var(--muted); cursor: pointer;
  font-size: 1.1rem; line-height: 1; padding: .1rem .25rem;
}
.tpl-email-chip button:hover { color: var(--danger); }
.tpl-email-add {
  display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: .45rem;
}
.tpl-email-add input { flex: 1; min-width: 160px; }
.tpl-mail-settings.is-disabled { opacity: .45; pointer-events: none; }
.tpl-mail-meta {
  margin-top: .9rem; padding: .75rem .85rem; border-radius: 10px;
  background: #f3f7f5; font-size: .86rem; color: var(--muted);
}
.tpl-mail-meta p { margin: .2rem 0; }
.tpl-drawer-foot {
  display: flex; justify-content: space-between; gap: .65rem; flex-wrap: wrap;
  padding: .9rem 1.2rem 1.15rem; border-top: 1px solid var(--line);
  background: #fff;
}
.tpl-btn-danger { color: var(--danger) !important; border-color: rgba(196,71,58,.35) !important; }
.tpl-btn-danger:hover { background: rgba(196,71,58,.06) !important; }
.tpl-btn-danger-solid { background: var(--danger) !important; border-color: var(--danger) !important; color: #fff !important; }

.tpl-modal-overlay {
  position: fixed; inset: 0; z-index: 90;
  background: rgba(8,14,12,.5);
  display: none; place-items: center; padding: 1rem;
  opacity: 0; transition: opacity .2s ease;
}
.tpl-modal-overlay:not([hidden]) { display: grid; }
.tpl-modal-overlay.is-open { opacity: 1; }
.tpl-modal {
  width: min(100%, 420px); background: #fff; border-radius: 14px;
  padding: 1.35rem 1.3rem 1.2rem; box-shadow: 0 24px 60px rgba(0,0,0,.25);
  transform: scale(.97); transition: transform .2s ease;
}
.tpl-modal-overlay.is-open .tpl-modal { transform: scale(1); }
.tpl-modal h3 { margin: 0 0 .5rem; font-family: var(--display); }
.tpl-modal-name { margin: 0 0 .35rem; font-weight: 700; }
.tpl-modal-text { margin: 0 0 1.1rem; color: var(--muted); }
.tpl-modal-actions { display: flex; justify-content: flex-end; gap: .5rem; }

body.tpl-drawer-open { overflow: hidden; }

@media (max-width: 980px) {
  .tpl-card {
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "ico body menu"
      "mail mail mail"
      "stats stats stats";
  }
  .tpl-card-ico { grid-area: ico; }
  .tpl-card-body { grid-area: body; }
  .tpl-card-menu { grid-area: menu; }
  .tpl-card-mail { grid-area: mail; }
  .tpl-card-stats { grid-area: stats; text-align: left; display: flex; flex-wrap: wrap; gap: .35rem 1rem; align-items: baseline; }
  .tpl-drawer { width: min(100vw, 80vw); }
}
@media (max-width: 640px) {
  .tpl-card { grid-template-columns: auto 1fr; }
  .tpl-card-menu { justify-self: end; }
  .tpl-drawer { width: 100vw; }
  .tpl-toolbar { flex-direction: column; align-items: stretch; }
  .tpl-search { max-width: none; }
  .tpl-sort select { width: 100%; }
}

/* =========================================================
   Design unify — account pages + search polish (no logic change)
   ========================================================= */
.header-actions .header-register {
  background: var(--accent);
  color: #06261c;
  border-color: transparent;
  font-weight: 700;
}
.header-actions .header-register:hover {
  background: #14b886;
  color: #06261c;
  border-color: transparent;
}

.page-search .fav-btn { opacity: 1; }
.page-search .results-actions .btn-ico {
  min-height: 2.15rem;
}
.page-search .results-actions .btn-label {
  display: inline;
}
.page-search .quick-filters {
  margin-bottom: .85rem;
  gap: .45rem;
}
.page-search .filters-template {
  margin-top: 1.15rem;
  padding-top: 1rem;
}

.brand-hits {
  display: grid;
  gap: .65rem;
  margin: 0 0 1.1rem;
}
.brand-hits-kicker {
  margin: 0;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(47, 212, 154, .85);
}
.brand-hit {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .85rem 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  border: 1px solid rgba(15, 159, 118, .35);
  background: linear-gradient(135deg, rgba(15, 159, 118, .16), rgba(12, 20, 17, .55) 48%, rgba(18, 36, 30, .7));
  box-shadow: 0 14px 36px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255,255,255,.06);
  overflow: hidden;
}
.brand-hit-app {
  border-color: rgba(212, 160, 23, .35);
  background: linear-gradient(135deg, rgba(212, 160, 23, .12), rgba(12, 20, 17, .55) 48%, rgba(18, 36, 30, .7));
}
.brand-hit-hit {
  position: absolute; inset: 0; z-index: 1;
}
.brand-hit-rank {
  width: 2rem; height: 2rem;
  display: grid; place-items: center;
  border-radius: 999px;
  font-weight: 800;
  font-family: var(--display);
  background: rgba(47, 212, 154, .18);
  color: #7debb8;
  position: relative; z-index: 2;
}
.brand-hit-app .brand-hit-rank {
  background: rgba(212, 160, 23, .18);
  color: #ffe6a3;
}
.brand-hit-body { position: relative; z-index: 2; min-width: 0; }
.brand-hit-body h3 {
  margin: .35rem 0 .25rem;
  font-family: var(--display);
  font-size: 1.05rem;
  letter-spacing: -.02em;
}
.brand-hit-body h3 a { color: #fff; text-decoration: none; }
.brand-hit-body p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: .9rem;
  line-height: 1.4;
}
.brand-hit-cta,
.brand-hit-actions {
  position: relative; z-index: 3;
  display: flex; flex-wrap: wrap; gap: .4rem;
  justify-content: flex-end;
}
.brand-hit:hover {
  transform: translateY(-2px);
  border-color: rgba(47, 212, 154, .55);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28), 0 0 24px rgba(15, 159, 118, .12);
}
.brand-hit-app:hover { border-color: rgba(232, 196, 92, .55); }
@media (max-width: 760px) {
  .brand-hit {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .brand-hit-cta, .brand-hit-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

.page-account {
  background:
    radial-gradient(1000px 480px at 8% -18%, rgba(15,159,118,.1), transparent 55%),
    radial-gradient(800px 400px at 100% 0%, rgba(12,20,17,.04), transparent 50%),
    linear-gradient(180deg, #eef5f1 0%, #f4f7f5 42%, #e9f0ec 100%);
}
.page-account .section-title {
  letter-spacing: -.02em;
  color: #0f1a15;
}
.page-favorites .fav-page,
.page-templates .tpl-page {
  padding: 2rem 0 3.5rem;
}

/* Shared workspace reveal */
.page-favorites [data-reveal],
.page-templates [data-reveal],
.page-favorites [data-card-reveal],
.page-templates [data-card-reveal] {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity .45s cubic-bezier(.22, 1, .36, 1),
    transform .45s cubic-bezier(.22, 1, .36, 1),
    box-shadow .28s ease,
    border-color .28s ease;
  transition-delay: var(--reveal-delay, 0s);
}
.page-favorites [data-reveal].is-in,
.page-templates [data-reveal].is-in,
.page-favorites [data-card-reveal].is-in,
.page-templates [data-card-reveal].is-in {
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .page-favorites [data-reveal],
  .page-templates [data-reveal],
  .page-favorites [data-card-reveal],
  .page-templates [data-card-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Favorites */
.fav-page-kicker {
  margin: 0 0 .35rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent-deep);
}
.fav-page-title {
  margin: 0 0 .35rem;
  font-size: clamp(1.55rem, 2.4vw, 1.9rem);
}
.fav-page-lead { margin: 0; color: var(--muted); max-width: 34rem; }
.page-favorites .fav-page-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.page-favorites .fav-toolbar {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
}
.page-favorites .fav-search {
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(15,35,28,.1);
  box-shadow: 0 8px 22px rgba(10, 24, 18, 0.04);
  min-width: min(100%, 260px);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.page-favorites .fav-search:focus-within {
  border-color: rgba(15,159,118,.45);
  box-shadow: 0 0 0 3px rgba(15,159,118,.12);
}
.page-favorites .tender-list-compact { gap: .65rem; }
.page-favorites .fav-item.is-hidden { display: none; }
.page-favorites .tender-row {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
  border: 1px solid rgba(15,35,28,.08);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(10, 24, 18, 0.05);
  transition: transform .28s cubic-bezier(.22,1,.36,1), border-color .22s ease, box-shadow .28s ease;
}
.page-favorites .tender-row:hover {
  transform: translateY(-2px);
  border-color: rgba(15,159,118,.32);
  box-shadow: 0 16px 36px rgba(10, 24, 18, 0.1);
}
.page-favorites .tender-dense-mid h3 a {
  color: #12201a;
  transition: color .2s ease;
}
.page-favorites .tender-dense-mid h3 a:hover { color: var(--accent-deep); }
.page-favorites .tender-price { color: var(--accent-deep); font-weight: 750; }
.page-favorites .chip-law {
  background: rgba(15,159,118,.12);
  color: var(--accent-deep);
  border-color: rgba(15,159,118,.2);
}
.page-favorites .chip-stage {
  background: rgba(12,20,17,.05);
  color: #3d4f46;
}
.page-favorites .fav-btn.is-on {
  color: #c99212;
  border-color: rgba(212,160,23,.5);
  background: rgba(212,160,23,.12);
  box-shadow: 0 0 0 3px rgba(212,160,23,.1);
}
.page-favorites .fav-btn {
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.page-favorites .fav-btn:hover { transform: scale(1.08); }
.page-favorites .empty-rich,
.page-favorites .fav-empty {
  background: #fff;
  border: 1px dashed rgba(15,35,28,.16);
  border-radius: 16px;
  padding: 2.25rem 1.5rem;
  text-align: center;
  box-shadow: 0 10px 28px rgba(10, 24, 18, 0.04);
}

/* Templates workspace */
.page-templates .tpl-page-kicker {
  margin: 0 0 .35rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent-deep);
}
.page-templates .tpl-page-title {
  letter-spacing: -.02em;
  font-size: clamp(1.55rem, 2.4vw, 1.9rem);
}
.page-templates .tpl-page-lead {
  max-width: 36rem;
  color: var(--muted);
}
.page-templates .tpl-count-line {
  margin: -.35rem 0 1rem;
  font-size: .86rem;
  color: var(--muted);
  font-weight: 600;
}
.page-templates .tpl-toolbar {
  padding: .9rem 1rem;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,251,249,.88));
  border: 1px solid rgba(15,35,28,.08);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(10, 24, 18, 0.04);
  margin-bottom: 1.25rem;
}
.page-templates .tpl-search {
  background: #fff;
  border-color: rgba(15,35,28,.1);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.page-templates .tpl-search:focus-within {
  border-color: rgba(15,159,118,.45);
  box-shadow: 0 0 0 3px rgba(15,159,118,.12);
}
.page-templates .tpl-filter-chip {
  background: #fff;
  border-color: rgba(15,35,28,.1);
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.page-templates .tpl-filter-chip:hover {
  border-color: rgba(15,159,118,.4);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(15,159,118,.1);
}
.page-templates .tpl-filter-chip.is-active {
  background: rgba(15,159,118,.14);
  border-color: rgba(15,159,118,.42);
  color: var(--accent-deep);
  box-shadow: 0 0 0 3px rgba(15,159,118,.08);
}
.page-templates .tpl-sort select {
  border-color: rgba(15,35,28,.1);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.page-templates .tpl-sort select:focus {
  outline: none;
  border-color: rgba(15,159,118,.45);
  box-shadow: 0 0 0 3px rgba(15,159,118,.12);
}
.page-templates .tpl-card {
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
  box-shadow: 0 10px 28px rgba(10, 24, 18, 0.05);
  border: 1px solid rgba(15,35,28,.08);
  overflow: visible;
  position: relative;
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    border-color .22s ease,
    box-shadow .28s ease,
    opacity .45s cubic-bezier(.22,1,.36,1);
}
.page-templates .tpl-card:hover {
  transform: translateY(-3px);
  border-color: rgba(15,159,118,.3);
  box-shadow: 0 18px 40px rgba(10, 24, 18, 0.1);
}
.page-templates .tpl-card-ico {
  width: 2.85rem;
  height: 2.85rem;
  border-radius: 12px;
  background: rgba(15,159,118,.12);
  color: var(--accent-deep);
  transition: transform .28s ease, background .22s ease;
}
.page-templates .tpl-card:hover .tpl-card-ico {
  transform: scale(1.06);
  background: rgba(15,159,118,.18);
}
.page-templates .tpl-card-title {
  color: #12201a;
}
.page-templates .tpl-mail-status {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.page-templates .tpl-mail-ico {
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 3px rgba(15,159,118,.14);
  flex-shrink: 0;
  animation: tpl-pulse 2.4s ease-in-out infinite;
}
.page-templates .tpl-mail-ico.is-off {
  background: #c5d0ca;
  box-shadow: none;
  animation: none;
}
@keyframes tpl-pulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(15,159,118,.14); }
  50% { box-shadow: 0 0 0 6px rgba(15,159,118,.08); }
}
.page-templates .tpl-new-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.45rem;
  height: 1.45rem;
  padding: 0 .35rem;
  border-radius: 999px;
  background: rgba(15,159,118,.14);
  color: var(--accent-deep);
  font-size: .78rem;
  font-weight: 800;
  margin-right: .15rem;
}
.page-templates .tpl-new-link {
  transition: color .2s ease, transform .2s ease;
  display: inline-block;
}
.page-templates .tpl-new-link:hover {
  color: var(--accent);
  transform: translateX(2px);
}
.page-templates .tpl-card-btns .btn-outline {
  border-radius: 10px;
  border-color: rgba(15,159,118,.28);
  color: var(--accent-deep);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.page-templates .tpl-card-btns .btn-outline:hover {
  background: rgba(15,159,118,.1);
  border-color: rgba(15,159,118,.45);
  transform: translateY(-1px);
}
.page-templates .tpl-menu-btn {
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.page-templates .btn-primary {
  box-shadow: 0 8px 20px rgba(15,159,118,.22);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.page-templates .btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(15,159,118,.28);
}
.page-templates .tpl-drawer {
  transition: transform .32s cubic-bezier(.22,1,.36,1);
}
.page-templates .tpl-overlay {
  transition: opacity .28s ease;
  background: rgba(8, 14, 12, .48);
}
.page-templates .tpl-drawer-head {
  background: linear-gradient(180deg, #f3faf6, #fff);
  border-bottom-color: rgba(15,35,28,.08);
}
.page-templates .tpl-drawer-foot {
  background: linear-gradient(180deg, #fff, #f3faf6);
  border-top-color: rgba(15,35,28,.08);
}
.page-templates .tpl-drawer-tab.is-active {
  color: var(--accent-deep);
}
.page-templates .tpl-drawer .field input:focus,
.page-templates .tpl-drawer .field select:focus,
.page-templates .tpl-drawer .field textarea:focus {
  border-color: rgba(15,159,118,.5);
  box-shadow: 0 0 0 3px rgba(15,159,118,.12);
}
.page-templates .empty-rich {
  background: #fff;
  border: 1px dashed rgba(15,35,28,.16);
  border-radius: 16px;
  padding: 2.25rem 1.5rem;
  text-align: center;
  box-shadow: 0 10px 28px rgba(10, 24, 18, 0.04);
}
.page-templates .tpl-page-actions .btn-outline {
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.page-templates .tpl-page-actions .btn-outline:hover {
  transform: translateY(-1px);
}
@media (prefers-reduced-motion: reduce) {
  .page-templates .tpl-mail-ico { animation: none !important; }
  .page-favorites .tender-row:hover,
  .page-templates .tpl-card:hover {
    transform: none !important;
  }
}

.trust-bar {
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(22,28,25,.72), rgba(14,18,16,.88));
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}
.page-home .trust-item strong {
  font-size: 1.35rem;
  color: #fff;
}
.page-home .trust-ico {
  background: rgba(15,159,118,.14);
  color: #2fd49a;
}

@media (max-width: 980px) {
  .page-search .results-actions .btn-label { display: none; }
}

/* Analytics / demand */
.analytics-page { padding: 2rem 0 3.5rem; }
.analytics-head {
  display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start;
  flex-wrap: wrap; margin-bottom: 1.25rem;
}
.analytics-head .section-title { margin: 0 0 .35rem; }
.analytics-head .section-lead { margin: 0; max-width: 40rem; }
.analytics-form {
  display: grid; gap: 1rem; margin-bottom: 1.35rem;
}
.analytics-form .field { margin: 0; }
.analytics-form .field label {
  display: block; font-size: .78rem; font-weight: 700; color: var(--muted);
  margin-bottom: .35rem; text-transform: none; letter-spacing: 0;
}
.analytics-form .field input[type="text"],
.analytics-form .field input[type="number"],
.analytics-form .field input:not([type]) {
  width: 100%; border: 1px solid var(--line); border-radius: 10px;
  padding: .7rem .8rem; background: #fff; color: var(--text); font: inherit;
}
.analytics-region-list {
  max-height: 10.5rem; overflow: auto; display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: .2rem .65rem; padding: .55rem .65rem;
  border: 1px solid var(--line); border-radius: 10px; background: #fafcfb;
}
.analytics-laws {
  display: flex; flex-wrap: wrap; gap: .35rem .75rem;
}
.analytics-check {
  margin: 0 !important; color: var(--text) !important; font-weight: 500 !important;
  text-transform: none !important; letter-spacing: 0 !important;
}
.analytics-price-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: .75rem;
}
.analytics-stats { margin-bottom: 1.25rem; }
.analytics-grid { margin-top: .25rem; }
.analytics-subh { margin-top: 1.25rem; }
.analytics-law-line { margin: .35rem 0; }
@media (max-width: 760px) {
  .analytics-price-row { grid-template-columns: 1fr; }
  .analytics-region-list { grid-template-columns: 1fr; }
}

/* —— Studio pages: atmosphere, reveal, 3D —— */
.page-studio {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(1000px 480px at 8% -18%, rgba(15,159,118,.11), transparent 55%),
    radial-gradient(800px 400px at 100% 0%, rgba(12,20,17,.05), transparent 50%),
    linear-gradient(180deg, #eef5f1 0%, #f4f7f5 42%, #e9f0ec 100%);
}
.studio-atmosphere {
  position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden;
}
.studio-glow {
  position: absolute; border-radius: 50%; filter: blur(56px); opacity: .45;
}
.studio-glow-a {
  width: min(48vw, 460px); height: min(48vw, 460px);
  right: -10%; top: -12%;
  background: radial-gradient(circle, rgba(15,159,118,.28), transparent 68%);
  animation: studioGlow 14s ease-in-out infinite;
}
.studio-glow-b {
  width: min(38vw, 340px); height: min(38vw, 340px);
  left: -14%; bottom: 8%;
  background: radial-gradient(circle, rgba(10,122,90,.16), transparent 70%);
  animation: studioGlow 16s ease-in-out infinite reverse;
}
.studio-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(15,35,28,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,35,28,.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(ellipse 80% 50% at 70% 0%, #000 8%, transparent 72%);
  opacity: .7;
}
@keyframes studioGlow {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(-18px, 12px) scale(1.08); }
}
.page-studio .site-header,
.page-studio .flash,
.page-studio .studio-atmosphere + .site-header,
.page-studio footer,
.page-studio .container,
.page-studio .tender-hero,
.page-studio .sub-page,
.page-studio .customer-page,
.page-studio .analytics-page,
.page-studio .legal-page,
.page-studio .fav-page,
.page-studio .tpl-page {
  position: relative;
  z-index: 1;
}
.page-kicker {
  margin: 0 0 .35rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent-deep);
}
.page-studio .section-title {
  letter-spacing: -.02em;
  color: #0f1a15;
}
.page-studio .panel-box {
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
  border: 1px solid rgba(15,35,28,.08);
  box-shadow: 0 12px 32px rgba(10, 24, 18, 0.05);
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .22s ease;
}
.page-studio .panel-box:hover {
  border-color: rgba(15,159,118,.28);
  box-shadow: 0 18px 40px rgba(10, 24, 18, 0.09);
}

.page-studio [data-reveal],
.page-studio [data-card-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity .5s cubic-bezier(.22, 1, .36, 1),
    transform .5s cubic-bezier(.22, 1, .36, 1),
    box-shadow .28s ease,
    border-color .28s ease;
  transition-delay: var(--reveal-delay, 0s);
}
.page-studio [data-reveal].is-in,
.page-studio [data-card-reveal].is-in {
  opacity: 1;
  transform: none;
}
.page-studio [data-tilt],
.page-studio [data-tilt]:hover,
.page-studio .feature-item:hover {
  transform-style: preserve-3d;
  will-change: transform;
  transform:
    perspective(900px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateY(var(--lift, 0px));
  transition: transform .18s ease, box-shadow .28s ease, border-color .22s ease, opacity .5s cubic-bezier(.22,1,.36,1);
}
.page-studio [data-tilt].is-in,
.page-studio [data-card-reveal][data-tilt].is-in {
  transform:
    perspective(900px)
    rotateX(var(--tilt-x, 0deg))
    rotateY(var(--tilt-y, 0deg))
    translateY(var(--lift, 0px));
}

/* Features */
.page-features .features-page { padding: 2.25rem 0 3.5rem; }
.page-features .feature-rail { gap: 1.05rem; }
.page-features .feature-item {
  background: linear-gradient(180deg, #fff 0%, #f7fbf9 100%);
  border: 1px solid rgba(15,35,28,.08);
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(10, 24, 18, 0.05);
  padding: 1.35rem 1.4rem 1.4rem;
}
.page-features .feature-ico {
  width: 2.4rem; height: 2.4rem; border-radius: 12px;
  display: grid; place-items: center;
  background: rgba(15,159,118,.12); color: var(--accent-deep);
  margin-bottom: .85rem;
}
.page-features .feature-item h3 { font-size: 1.08rem; }
.page-features .features-cta {
  margin-top: 1.75rem;
  display: flex; flex-wrap: wrap; gap: .55rem;
}

/* Tariffs */
.page-tariffs .plan-card {
  background: linear-gradient(180deg, #fff 0%, #f8fcfa 100%);
  box-shadow: 0 14px 34px rgba(10, 24, 18, 0.06);
  border-radius: 16px;
}
.page-tariffs .plan-card.featured {
  transform: none;
  box-shadow: 0 20px 48px rgba(15, 80, 55, .14);
}
.page-tariffs .plan-grid { gap: 1.1rem; perspective: 1200px; }

/* Customers */
.page-customers .customer-page { padding: 2.15rem 0 3.5rem; }
.page-customers .hero-search {
  background: #fff;
  border: 1px solid rgba(15,35,28,.1);
  border-radius: 16px;
  box-shadow: 0 14px 36px rgba(10, 24, 18, 0.06);
  padding: .45rem .45rem .45rem .9rem;
  display: flex; gap: .5rem; align-items: center;
}
.page-customers .hero-search input {
  border: 0; background: transparent; box-shadow: none; outline: none;
  padding: .7rem 0;
}
.page-customers .tender-row {
  background: linear-gradient(180deg, #fff, #fbfdfc);
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(10, 24, 18, 0.05);
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .22s ease;
}
.page-customers .tender-row:hover {
  transform: translateY(-3px);
  border-color: rgba(15,159,118,.32);
  box-shadow: 0 16px 36px rgba(10, 24, 18, 0.1);
}
.page-customers .stats-row { gap: .85rem; }
.page-customers .stat-box {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(10, 24, 18, 0.05);
}

/* Board */
.page-board .board-page { padding: 2.15rem 0 3.5rem; }
.page-board .board-stats { margin: 0 0 1.35rem; }
.page-board .board-stat {
  background: linear-gradient(180deg, #fff, #f8fcfa);
  border: 1px solid rgba(15,35,28,.08);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(10, 24, 18, 0.04);
  padding: .85rem 1rem;
}
.page-board .board-col {
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  box-shadow: 0 12px 28px rgba(10, 24, 18, 0.05);
  min-height: 280px;
}
.page-board .board-card {
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(10, 24, 18, 0.04);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.page-board .board-card:hover {
  transform: translateY(-3px) rotateX(2deg);
  border-color: rgba(15,159,118,.32);
  box-shadow: 0 14px 28px rgba(10, 24, 18, 0.1);
}
.page-board .board-card select {
  width: 100%; margin-top: .35rem;
}

/* Analytics */
.page-analytics .analytics-form {
  border-radius: 16px;
}
.page-analytics .stat-box {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(10, 24, 18, 0.05);
  border: 1px solid rgba(15,35,28,.08);
}
.page-analytics .bar-fill {
  background: linear-gradient(90deg, var(--accent-deep), #2fd49a);
  box-shadow: 0 0 12px rgba(15,159,118,.25);
}

/* Cabinet */
.page-cabinet .cabinet-page { padding: 2.15rem 0 3.5rem; }

/* Tender */
.page-tender .tender-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(8,12,11,.97), rgba(12,20,17,.88) 42%, rgba(14,42,34,.78)),
    linear-gradient(165deg, #070b0a 0%, #0c1411 48%, #0e2a22 100%);
}
.page-tender .tender-hero::before {
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(circle at 82% -10%, rgba(15,159,118,.38), transparent 42%),
    radial-gradient(circle at 8% 120%, rgba(10,122,90,.22), transparent 46%);
}
.page-tender .tender-hero-inner { position: relative; z-index: 1; }
.page-tender .tender-detail { padding-top: 1.5rem; padding-bottom: 3.5rem; }
.page-tender .market-box,
.page-tender .similar-box,
.page-tender .tender-cta {
  transform-style: preserve-3d;
}

/* Legal / contacts */
.page-legal .legal-page { padding: 2.25rem 0 3.5rem; }
.page-legal .legal-nav a,
.page-legal .legal-nav a {
  display: inline-flex; padding: .35rem .7rem;
  background: #fff; border: 1px solid rgba(15,35,28,.1);
  border-radius: 999px; text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.page-legal .legal-nav a:hover {
  transform: translateY(-1px);
  border-color: rgba(15,159,118,.4);
  box-shadow: 0 8px 18px rgba(15,159,118,.12);
}
.page-legal .contact-card p { margin: .55rem 0; }

/* Watch */
.page-watch .watch-page { padding: 2.15rem 0 3.5rem; }

/* 404 */
.page-error .error-page { padding: 4.5rem 0 5rem; text-align: center; }
.page-error .error-code {
  font-family: var(--display);
  font-size: clamp(4rem, 12vw, 7rem);
  letter-spacing: -.06em;
  line-height: .9;
  background: linear-gradient(135deg, #0f1a15, var(--accent-deep));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.page-studio .bot-funnel {
  border-radius: 16px;
  background: linear-gradient(135deg, #10231c, #0c1411 55%, #16362c);
  color: #e8f2ed;
  border-color: transparent;
  box-shadow: 0 18px 40px rgba(10, 24, 18, 0.18);
}
.page-studio .bot-funnel h2 { color: #fff; }
.page-studio .bot-funnel p { color: rgba(232, 242, 237, .78); }
.page-studio .bot-funnel .btn-outline {
  color: #e8f2ed;
  border-color: rgba(255,255,255,.28);
}

@media (prefers-reduced-motion: reduce) {
  .studio-glow { animation: none !important; }
  .page-studio [data-reveal],
  .page-studio [data-card-reveal],
  .page-studio [data-tilt] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 900px) {
  .page-features .feature-rail { grid-template-columns: 1fr; }
}


