/* ===================================================
   FIB SITE — home.css
   Home screen + all tab-specific styles
   =================================================== */

/* ===========================
   HOME SCREEN
   =========================== */
#screen-home {
  background: var(--fib-darker);
}

.home-bg {
  position: absolute; inset: 0; z-index: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 40%,
    rgba(30,40,80,0.55) 0%,
    rgba(10,12,16,0) 70%
  );
}
.bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(201,168,76,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,168,76,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
}
.bg-vignette {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, transparent 30%, rgba(0,0,0,0.75) 100%);
}

.home-content {
  position: relative; z-index: 2;
  flex: 1;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  gap: 0;
  padding: 40px 20px;
  text-align: center;
}

/* EMBLEM */
.fib-emblem {
  position: relative;
  width: 160px; height: 160px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.emblem-ring {
  position: absolute; border-radius: 50%;
  border: 2px solid var(--fib-gold);
  animation: pulse-ring 3s ease-in-out infinite;
}
.emblem-ring.outer {
  width: 160px; height: 160px;
  border-color: rgba(201,168,76,0.4);
  animation-delay: 0s;
}
.emblem-ring.inner {
  width: 120px; height: 120px;
  border-color: rgba(201,168,76,0.65);
  animation-delay: 0.5s;
}
.emblem-stars {
  position: absolute;
  top: 22px;
  font-size: 8px;
  letter-spacing: 4px;
  color: var(--fib-gold);
  opacity: 0.7;
}
.fib-logo-text {
  font-family: var(--font-logo);
  font-size: 56px;
  font-weight: 900;
  color: var(--fib-gold);
  letter-spacing: 8px;
  text-shadow:
    0 0 30px rgba(201,168,76,0.5),
    0 0 60px rgba(201,168,76,0.2);
  position: relative; z-index: 2;
}

/* FULL NAME */
.fib-full {
  font-family: var(--font-mono);
  font-size: 13px;
  letter-spacing: 4px;
  color: rgba(201,168,76,0.7);
  text-transform: uppercase;
  margin-bottom: 18px;
}

/* GTA BADGE */
.gta-badge {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 48px;
}
.gta-pre {
  font-family: var(--font-display);
  font-size: 22px;
  letter-spacing: 5px;
  color: rgba(255,255,255,0.75);
}
.gta-sep {
  color: var(--fib-gold);
  font-size: 18px;
  opacity: 0.6;
}
.gta-server {
  font-family: var(--font-display);
  font-size: 26px;
  letter-spacing: 4px;
  color: var(--fib-gold);
  text-shadow: 0 0 20px rgba(201,168,76,0.4);
}

/* TAB NAV */
.tab-nav {
  display: flex; gap: 6px;
  flex-wrap: wrap; justify-content: center;
}
.tab-btn {
  font-family: var(--font-display);
  font-size: 15px;
  letter-spacing: 2px;
  padding: 12px 24px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(201,168,76,0.2);
  color: rgba(255,255,255,0.7);
  cursor: pointer;
  border-radius: 3px;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
}
.tab-btn::before {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--fib-gold);
  transform: scaleX(0);
  transition: transform 0.25s ease;
}
.tab-btn:hover {
  background: rgba(201,168,76,0.1);
  border-color: rgba(201,168,76,0.5);
  color: var(--fib-gold2);
  transform: translateY(-2px);
}
.tab-btn:hover::before { transform: scaleX(1); }

/* HOME FOOTER */
#screen-home .site-footer {
  border-top-color: rgba(201,168,76,0.15);
}

/* ===========================
   СОСТАВ — white/smoke
   =========================== */
#screen-sostav { background: var(--smoke); color: #1a1d24; }
.sostav-bg {
  background: linear-gradient(160deg, #f0f2f5 0%, #e4e7ed 100%);
}
.bg-noise {
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity: 0.4;
}
.sostav-badge { background: #1a1d24; color: #e8c96a; }
#screen-sostav .tab-header h1 { color: #1a1d24; }
#screen-sostav .tab-sub { color: #555; }
#screen-sostav .site-footer {
  background: #1a1d24;
  border-top-color: rgba(201,168,76,0.2);
}

.rank-block { margin-bottom: 36px; }
.rank-label {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 4px;
  color: #888;
  text-transform: uppercase;
  margin-bottom: 14px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}
.agents-row {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.agent-card {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 18px;
  border-radius: 6px;
  border: 1px solid;
  min-width: 240px;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: default;
}
.agent-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
.tier-1 {
  background: linear-gradient(135deg, #0d1b3e, #162549);
  border-color: var(--fib-gold);
  color: var(--fib-gold2);
  width: 100%;
}
.tier-2 {
  background: linear-gradient(135deg, #1a2540, #1e2d50);
  border-color: rgba(201,168,76,0.35);
  color: #d0ddf5;
}
.tier-3 {
  background: #fff;
  border-color: #dde1e8;
  color: #1a1d24;
}
.agent-card.classified {
  background: linear-gradient(135deg, #1a0505, #2a0808);
  border-color: rgba(220,50,50,0.4);
  color: #ff6b6b;
}
.agent-id {
  font-family: var(--font-mono);
  font-size: 11px;
  opacity: 0.5;
  min-width: 30px;
}
.agent-name { font-size: 15px; font-weight: 600; }
.agent-rank { font-size: 11px; opacity: 0.55; letter-spacing: 1px; margin-top: 2px; }
.agent-curator {
  font-size: 10px;
  letter-spacing: 0.5px;
  margin-top: 4px;
  color: rgba(201,168,76,0.6);
  font-family: var(--font-mono);
}
.agent-badge { margin-left: auto; font-size: 12px; opacity: 0.6; flex-shrink: 0; }
.classified-icon { filter: none; opacity: 1; }

/* ===========================
   СТАТИСТИКА — coming soon
   =========================== */
#screen-stats { background: #eef0f4; color: #1a1d24; }
.stats-bg {
  background: linear-gradient(150deg, #eaecf2 0%, #dde1ea 100%);
}
.stats-badge { background: #1a73e8; color: #fff; }
#screen-stats .tab-header h1 { color: #1a1d24; }
#screen-stats .tab-sub { color: #555; }
#screen-stats .site-footer { background: #1a1d24; border-top-color: rgba(26,115,232,0.3); }

/* ===========================
   COMING SOON BLOCK
   =========================== */
.coming-soon-block {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 16px;
  padding: 80px 20px;
  text-align: center;
  animation: fadeSlideUp 0.5s ease both;
}
.cs-icon { font-size: 52px; opacity: 0.35; }
.cs-title {
  font-family: var(--font-display);
  font-size: 36px; letter-spacing: 6px;
  opacity: 0.25;
}
.cs-text { font-size: 14px; max-width: 440px; line-height: 1.7; opacity: 0.4; }
.cs-dark .cs-title { color: #aaa; }
.cs-dark .cs-text  { color: #888; }

/* ===========================
   ОТЧЕТНОСТЬ — charcoal
   =========================== */
#screen-otchet { background: var(--charcoal); color: #c8cdd8; }
.otchet-bg { background: linear-gradient(160deg, #1e2229, #262c36 100%); }
.otchet-badge { background: #444b57; color: #e0e4ec; }
#screen-otchet .tab-header h1 { color: #e0e4ec; }
#screen-otchet .tab-sub { color: #888; }
#screen-otchet .site-footer { background: #13161a; border-top-color: rgba(255,255,255,0.06); }

/* ===========================
   УСТАВ — navy blue
   =========================== */
#screen-ustav { background: var(--navy); color: #c5d5f0; }
.ustav-bg {
  background:
    linear-gradient(160deg, #0d1b3e 0%, #0a1530 60%, #081020 100%);
}
.ustav-badge { background: rgba(42,74,138,0.5); color: #8ab4f8; border: 1px solid rgba(42,74,138,0.8); }
#screen-ustav .tab-header h1 { color: #d0e2ff; }
#screen-ustav .tab-sub { color: #5a7fbb; }
#screen-ustav .site-footer { background: rgba(0,0,0,0.5); border-top-color: rgba(42,74,138,0.3); }

.ustav-body { max-width: 820px; margin: 0 auto; }
.ustav-placeholder { text-align: center; padding: 40px 20px; }
.ustav-seal {
  width: 100px; height: 100px;
  border-radius: 50%;
  border: 2px solid rgba(42,74,138,0.5);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 28px;
  position: relative;
}
.seal-ring {
  position: absolute; inset: -8px;
  border-radius: 50%;
  border: 1px solid rgba(42,74,138,0.3);
}
.seal-text {
  font-family: var(--font-logo);
  font-size: 28px; font-weight: 900;
  color: rgba(138,180,248,0.6);
}
.ustav-placeholder h2 {
  font-family: var(--font-display);
  font-size: 24px; letter-spacing: 3px;
  color: #8ab4f8; margin-bottom: 12px;
}
.ustav-placeholder p { color: #5a7fbb; font-size: 14px; line-height: 1.7; margin-bottom: 28px; }
.ustav-placeholder code {
  font-family: var(--font-mono);
  background: rgba(42,74,138,0.2);
  padding: 1px 5px; border-radius: 3px;
  color: #8ab4f8;
}
.ustav-structure { display: flex; flex-direction: column; gap: 8px; }
.chapter-hint {
  font-family: var(--font-mono);
  font-size: 13px;
  padding: 10px 20px;
  background: rgba(42,74,138,0.15);
  border: 1px solid rgba(42,74,138,0.25);
  border-radius: 4px;
  color: #6a9cd8;
  text-align: left;
}
#screen-ustav .edit-hint {
  background: rgba(42,74,138,0.1);
  border-color: rgba(42,74,138,0.25);
}
#screen-ustav .edit-hint p { color: #5a7fbb; }

/* ===========================
   ОТДЕЛЫ — steel blue with accents
   =========================== */
#screen-otdely { background: #0e1c2e; color: #c8d8f0; }
.otdely-bg {
  background: linear-gradient(150deg, #0e1c2e 0%, #0a1525 60%, #081020 100%);
}
.otdely-badge {
  background: linear-gradient(90deg, #1a73e8, #1c3a5e);
  color: #fff;
}
#screen-otdely .tab-header h1 { color: #d0e8ff; }
#screen-otdely .tab-sub { color: #4a7aaa; }
#screen-otdely .site-footer { background: rgba(0,0,0,0.5); border-top-color: rgba(26,115,232,0.25); }

.otdely-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 18px;
}
.dept-card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(26,115,232,0.2);
  border-radius: 8px;
  padding: 24px;
  transition: all 0.25s ease;
  position: relative; overflow: hidden;
  display: flex; flex-direction: column; gap: 12px;
}
.dept-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--blue), var(--blue2));
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.dept-card:hover { background: rgba(26,115,232,0.07); border-color: rgba(26,115,232,0.45); transform: translateY(-2px); }
.dept-card:hover::before { transform: scaleX(1); }
.dept-card.classified-card {
  border-color: rgba(220,50,50,0.25);
  background: rgba(220,50,50,0.04);
}
.dept-card.classified-card::before { background: linear-gradient(90deg, #e05050, #cc0000); }
.dept-code {
  font-family: var(--font-logo);
  font-size: 28px; font-weight: 900;
  color: var(--blue2);
  letter-spacing: 4px;
  line-height: 1;
}
.classified-card .dept-code { color: #e05050; }
.dept-name { font-size: 12px; color: #5a8ac0; letter-spacing: 1px; margin-top: -6px; }
.classified-card .dept-name { color: #994040; }

.dept-head-row { display: flex; flex-direction: column; gap: 4px; }
.dept-head-item { font-size: 13px; }
.dept-head-label { color: #4a7aaa; font-weight: 600; margin-right: 4px; }
.dept-head-val { color: #8ab4e8; font-weight: 600; }
.classified-card .dept-head-val { color: #cc6060; }

.dept-deputies { font-size: 12px; }
.dept-deputies-label {
  color: #4a7aaa; font-weight: 600;
  font-size: 11px; letter-spacing: 1px; text-transform: uppercase;
  margin-bottom: 8px;
}
.dept-deputies-tags {
  display: flex; flex-wrap: wrap; gap: 6px;
}
.deputy-tag {
  font-family: var(--font-ui);
  font-size: 12px; font-weight: 500;
  padding: 4px 10px;
  background: rgba(26,115,232,0.1);
  border: 1px solid rgba(26,115,232,0.2);
  border-radius: 20px;
  color: #7aaad8;
  white-space: nowrap;
  transition: background .2s, border-color .2s;
}
.deputy-tag:hover {
  background: rgba(26,115,232,0.18);
  border-color: rgba(26,115,232,0.4);
  color: #a0c8f0;
}
.classified-card .deputy-tag {
  background: rgba(220,50,50,0.08);
  border-color: rgba(220,50,50,0.2);
  color: #c06060;
}

.dept-desc-full {
  border-top: 1px solid rgba(26,115,232,0.1);
  padding-top: 14px;
  display: flex; flex-direction: column; gap: 10px;
}
.dept-desc-full p {
  font-size: 13px; color: #5a7a9a; line-height: 1.7;
  padding-left: 12px;
  border-left: 2px solid rgba(26,115,232,0.18);
}
.classified-desc p {
  color: #884040;
  border-left-color: rgba(220,50,50,0.2);
}
.classified-card .dept-deputies-label { color: #804040; }
.classified-card .dept-desc-full { border-top-color: rgba(220,50,50,0.1); }

.redacted {
  font-family: var(--font-mono);
  background: rgba(220,50,50,0.2);
  color: transparent;
  user-select: none;
  border-radius: 2px;
  padding: 1px 4px;
  text-shadow: 0 0 8px rgba(220,50,50,0.3);
}
#screen-otdely .edit-hint {
  background: rgba(26,115,232,0.06);
  border-color: rgba(26,115,232,0.2);
  margin-top: 24px;
}
#screen-otdely .edit-hint p { color: #4a7aaa; }

/* ===========================
   FOOTER COLORS PER TAB
   =========================== */
.sostav-footer .footer-inner { color: rgba(255,255,255,0.5); }
.stats-footer .footer-inner { color: rgba(255,255,255,0.5); }
.stats-footer .footer-inner strong { color: #6ba8f5; }
.stats-footer .footer-year { color: #6ba8f5; }
.ustav-footer .footer-inner { color: rgba(138,180,248,0.5); }
.ustav-footer .footer-inner strong { color: #8ab4f8; }
.ustav-footer .footer-year { color: #8ab4f8; }
.otdely-footer .footer-inner { color: rgba(100,160,220,0.5); }
.otdely-footer .footer-inner strong { color: var(--blue2); }
.otdely-footer .footer-year { color: var(--blue2); }
