/* ============================================================
   GEOINFOWORLD — Spatial Data Intelligence v1
   ============================================================ */

.giw-analytics {
  display: grid;
  gap: 12px;
}

.giw-analytics-context {
  color: #7890a5;
  font-size: .67rem;
}

.giw-insight-hero {
  position: relative;
  overflow: hidden;

  padding: 14px;

  border: 1px solid rgba(69,212,255,.15);
  border-radius: 14px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(69,212,255,.10),
      transparent 45%
    ),
    linear-gradient(
      145deg,
      rgba(69,212,255,.045),
      rgba(93,140,255,.02)
    );
}

.giw-insight-hero::after {
  content: "";

  position: absolute;
  width: 120px;
  height: 120px;

  right: -55px;
  top: -55px;

  border: 1px solid rgba(69,212,255,.13);
  border-radius: 50%;

  box-shadow:
    0 0 0 20px rgba(69,212,255,.02),
    0 0 0 40px rgba(69,212,255,.012);
}

.giw-insight-eyebrow {
  color: #50ddff;

  font-size: .60rem;
  font-weight: 750;

  letter-spacing: .15em;
  text-transform: uppercase;
}

.giw-insight-name {
  position: relative;
  z-index: 1;

  margin: 5px 0 2px;

  color: #f2f9ff;

  font-size: 1.08rem;
  font-weight: 660;
}

.giw-insight-subtitle {
  position: relative;
  z-index: 1;

  color: #7890a5;
  font-size: .65rem;
}


.giw-insight-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 7px;
}

.giw-insight-card {
  min-width: 0;

  padding: 9px;

  border: 1px solid rgba(180,210,240,.09);
  border-radius: 10px;

  background: rgba(255,255,255,.018);
}

.giw-insight-card span {
  display: block;

  margin-bottom: 4px;

  color: #657d92;

  font-size: .57rem;

  letter-spacing: .08em;
  text-transform: uppercase;
}

.giw-insight-card strong {
  display: block;

  overflow: hidden;

  color: #c7dce9;

  font-size: .79rem;
  font-weight: 620;

  text-overflow: ellipsis;
}


.giw-quality {
  padding: 10px;

  border: 1px solid rgba(180,210,240,.09);
  border-radius: 10px;

  background: rgba(255,255,255,.016);
}

.giw-quality-head {
  display: flex;

  justify-content: space-between;

  gap: 10px;

  margin-bottom: 7px;

  color: #8ba3b7;

  font-size: .63rem;
}

.giw-quality-head strong {
  color: #bcefff;
}

.giw-quality-track,
.giw-bar-track {
  width: 100%;
  height: 6px;

  overflow: hidden;

  border-radius: 999px;

  background: rgba(255,255,255,.055);
}

.giw-quality-fill,
.giw-bar-fill {
  height: 100%;

  border-radius: inherit;

  background:
    linear-gradient(
      90deg,
      #5d8cff,
      #45d4ff
    );
}


.giw-field-panel {
  display: grid;
  gap: 8px;
}

.giw-field-panel label {
  color: #6e879b;

  font-size: .60rem;
  font-weight: 650;

  letter-spacing: .07em;
  text-transform: uppercase;
}

.giw-field-select {
  width: 100%;
  min-height: 36px;

  padding: 7px 9px;

  outline: none;

  border: 1px solid rgba(180,210,240,.11);
  border-radius: 8px;

  color: #d9e8f3;
  background: rgba(255,255,255,.025);
}


.giw-stat-row {
  display: grid;

  grid-template-columns:
    repeat(3,1fr);

  gap: 6px;
}

.giw-stat {
  padding: 8px;

  text-align: center;

  border: 1px solid rgba(180,210,240,.08);
  border-radius: 8px;

  background: rgba(255,255,255,.015);
}

.giw-stat span {
  display: block;

  color: #657c90;
  font-size: .56rem;

  text-transform: uppercase;
}

.giw-stat strong {
  display: block;

  margin-top: 4px;

  color: #c3dbe8;
  font-size: .72rem;
}


.giw-bars {
  display: grid;
  gap: 7px;
}

.giw-bar {
  display: grid;

  grid-template-columns:
    minmax(80px, 1fr)
    1.7fr
    auto;

  align-items: center;

  gap: 8px;
}

.giw-bar-label {
  overflow: hidden;

  color: #8ca3b6;

  font-size: .62rem;

  text-overflow: ellipsis;
  white-space: nowrap;
}

.giw-bar-value {
  color: #6f879b;
  font-size: .59rem;
}


.giw-field-inventory {
  display: grid;
  gap: 4px;

  max-height: 180px;

  overflow-y: auto;
}

.giw-field-item {
  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 8px;

  padding: 6px 7px;

  border-radius: 7px;

  background: rgba(255,255,255,.013);
}

.giw-field-item span {
  overflow: hidden;

  color: #8fa6b8;

  font-size: .62rem;

  text-overflow: ellipsis;
}

.giw-field-item small {
  color: #5f778b;
  font-size: .57rem;
}


.giw-insight-actions {
  display: grid;

  grid-template-columns:
    repeat(3,1fr);

  gap: 6px;
}

.giw-insight-action {
  min-height: 33px;

  cursor: pointer;

  border: 1px solid rgba(180,210,240,.10);
  border-radius: 8px;

  color: #9db5c8;
  background: rgba(255,255,255,.02);

  font-size: .63rem;
}

.giw-insight-action:hover {
  color: #e6f8ff;

  border-color: rgba(69,212,255,.26);
  background: rgba(69,212,255,.055);
}


.giw-analysis-loading {
  padding: 20px 10px;

  text-align: center;

  color: #7892a7;

  font-size: .7rem;
}

.giw-analysis-error {
  padding: 10px;

  border: 1px solid rgba(255,120,130,.15);
  border-radius: 8px;

  color: #dba3aa;

  background: rgba(255,100,115,.035);

  font-size: .67rem;
}
