:root {
  --iggcas-red: #b71c1c;
  --iggcas-blue: #014099;
  --iggcas-ink: #10233b;
  --iggcas-muted: #5d6e82;
  --iggcas-earth: #1f9d7a;
  --iggcas-cyan: #4fc3d7;
  --iggcas-gold: #c69a32;
  --iggcas-line: rgba(118, 145, 171, 0.22);
}

html,
body { min-height: 100%; }
body {
  font-family: Inter, "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif !important;
  letter-spacing: 0 !important;
}

#root::before {
  content: "";
  display: block;
  height: 4px;
  background: linear-gradient(90deg, var(--iggcas-red), var(--iggcas-blue), var(--iggcas-earth), var(--iggcas-gold));
}

button,
[role="button"],
input,
textarea,
select {
  border-radius: 6px !important;
  letter-spacing: 0 !important;
}

.card,
[class*="card"],
[class*="Card"] { border-radius: 8px !important; }

img[src$="/brand/assets/cas-round-logo.png"],
img[src="/brand/assets/cas-round-logo.png"] {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px !important;
  max-height: 36px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
  background: #fff !important;
}

.iggcas-app-backdrop {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 18%, rgba(31,157,122,.16), transparent 30%),
    radial-gradient(circle at 12% 78%, rgba(183,28,28,.08), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #eef7f6 48%, #f8fbff 100%);
}

.iggcas-app-backdrop::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .5;
  background-image:
    linear-gradient(rgba(20,45,70,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,45,70,.055) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(circle at 50% 45%, black, transparent 78%);
}

.iggcas-app-backdrop::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/brand/assets/strata.svg") center/cover;
  opacity: .08;
  filter: saturate(.3) brightness(1.1);
  animation: iggcasDrift 24s ease-in-out infinite alternate;
}

body.iggcas-login-page {
  background: #f7fafc !important;
  color: var(--iggcas-ink) !important;
}

body.iggcas-login-page #root {
  position: relative;
  z-index: 1;
  min-height: 100vh;
}

body.iggcas-login-page header,
body.iggcas-login-page nav,
body.iggcas-login-page [class*="Header"],
body.iggcas-login-page [class*="Navbar"],
body.iggcas-login-page [class*="NavBar"] {
  color: var(--iggcas-ink) !important;
  background: rgba(255,255,255,.82) !important;
  border-color: var(--iggcas-line) !important;
  box-shadow: 0 18px 60px rgba(20,45,70,.08) !important;
  backdrop-filter: blur(18px) !important;
}

body.iggcas-login-page header a,
body.iggcas-login-page nav a,
body.iggcas-login-page header span,
body.iggcas-login-page nav span,
body.iggcas-login-page header button,
body.iggcas-login-page nav button {
  color: var(--iggcas-ink) !important;
}

body.iggcas-login-page header [class*="tag" i],
body.iggcas-login-page header [class*="badge" i] {
  color: #7a5714 !important;
  background: rgba(198,154,50,.14) !important;
  border-color: rgba(198,154,50,.28) !important;
}

body.iggcas-login-page .semi-card,
body.iggcas-login-page [class*="Card"],
body.iggcas-login-page [class*="card"] {
  border: 1px solid rgba(118,145,171,.24) !important;
  box-shadow: 0 34px 90px rgba(20,45,70,.14) !important;
}

body.iggcas-login-page input { min-height: 38px !important; }
body.iggcas-login-page button[type="submit"],
body.iggcas-login-page .semi-button-primary {
  min-height: 42px !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #014099, #1977d2) !important;
  border: 0 !important;
}

.iggcas-login-brand {
  position: fixed;
  z-index: 1;
  left: clamp(34px, 7vw, 110px);
  top: 54%;
  width: min(460px, 37vw);
  transform: translateY(-50%);
  color: var(--iggcas-ink);
  pointer-events: none;
}

.iggcas-login-brand::before {
  content: "";
  position: absolute;
  left: -28px;
  top: -34px;
  width: 236px;
  height: 236px;
  border: 1px solid rgba(1,64,153,.12);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(31,157,122,.14), transparent 62%);
  animation: iggcasOrbit 18s linear infinite;
}

.iggcas-login-brand img {
  position: relative;
  width: 78px !important;
  height: 78px !important;
  border-radius: 50%;
  background: rgba(255,255,255,.98);
  box-shadow: 0 22px 54px rgba(20,45,70,.16);
}

.iggcas-login-brand .kicker {
  position: relative;
  margin-top: 28px;
  color: #8c6819;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.iggcas-login-brand h1 {
  position: relative;
  margin: 16px 0 0;
  color: #10233b;
  font-size: clamp(48px, 5.4vw, 82px);
  line-height: .9;
  letter-spacing: 0;
}

.iggcas-login-brand p {
  position: relative;
  margin: 24px 0 0;
  max-width: 420px;
  color: #53677c;
  font-size: 17px;
  line-height: 1.85;
}

.iggcas-login-ribbon {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 28px;
}

.iggcas-login-ribbon span {
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid var(--iggcas-line);
  border-radius: 8px;
  background: rgba(255,255,255,.72);
  color: #41536a;
  box-shadow: 0 12px 40px rgba(20,45,70,.07);
  font-size: 12px;
  line-height: 1.45;
}

body.iggcas-console-home {
  background: #f7fafc !important;
}

.iggcas-home-dashboard {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: calc(100vh - 132px);
  margin: -8px -16px 0;
  border: 0;
  border-radius: 0;
  padding: clamp(26px, 4vw, 46px);
  background:
    radial-gradient(circle at 82% 10%, rgba(31,157,122,.18), transparent 28%),
    radial-gradient(circle at 8% 86%, rgba(183,28,28,.08), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #eef7f6 48%, #f8fbff 100%);
  color: var(--iggcas-ink);
}

.iggcas-home-dashboard::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .52;
  background-image:
    linear-gradient(rgba(20,45,70,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,45,70,.055) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: radial-gradient(circle at 54% 40%, black, transparent 76%);
}

.iggcas-home-dashboard::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -110px;
  top: -110px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  border: 34px solid rgba(1,64,153,.08);
  animation: iggcasOrbit 20s linear infinite;
}

.iggcas-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(22px, 4vw, 46px);
  align-items: stretch;
}

.iggcas-home-kicker {
  display: inline-flex;
  width: fit-content;
  padding: 7px 10px;
  border: 1px solid rgba(198,154,50,.34);
  border-radius: 999px;
  background: rgba(198,154,50,.1);
  color: #8c6819;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.iggcas-home-dashboard h2 {
  max-width: 780px;
  margin: 20px 0 0;
  color: #10233b;
  font-size: clamp(42px, 6vw, 76px);
  line-height: .94;
  letter-spacing: 0;
}

.iggcas-home-dashboard p {
  max-width: 760px;
  margin: 24px 0 0;
  color: #53677c;
  font-size: 17px;
  line-height: 1.85;
}

.iggcas-home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.iggcas-home-actions a {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 6px;
  font-weight: 900;
  text-decoration: none;
}
.iggcas-home-actions .primary { color: #fff; background: linear-gradient(135deg, #014099, #1977d2); box-shadow: 0 20px 50px rgba(1,64,153,.18); }
.iggcas-home-actions .secondary { border: 1px solid var(--iggcas-line); color: #10233b; background: rgba(255,255,255,.78); }

.iggcas-system-card {
  min-height: 420px;
  border: 1px solid var(--iggcas-line);
  border-radius: 8px;
  padding: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,251,253,.9));
  box-shadow: 0 30px 90px rgba(20,45,70,.12);
}

.iggcas-system-card-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.iggcas-home-status { display: inline-flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 14px; border-radius: 999px; background: rgba(31,157,122,.13); color: #117a59; font-weight: 900; }
.iggcas-home-status span { width: 10px; height: 10px; border-radius: 50%; background: #22c985; box-shadow: 0 0 0 0 rgba(34,201,133,.45); animation: iggcasPulse 1.8s infinite; }

.iggcas-orbit { position: relative; width: min(270px, 68vw); aspect-ratio: 1; margin: 34px auto 28px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(from 110deg, rgba(31,157,122,.18), rgba(198,154,50,.82), rgba(1,64,153,.56), rgba(31,157,122,.18)); animation: iggcasOrbit 18s linear infinite; }
.iggcas-orbit::before { content: ""; position: absolute; inset: 20px; border-radius: 50%; background: #f7fbff; border: 1px solid rgba(1,64,153,.12); }
.iggcas-orbit-core { position: relative; z-index: 1; width: 112px; height: 112px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, #fff, #dfeefa); color: #014099; font-size: 38px; font-weight: 950; box-shadow: 0 18px 48px rgba(20,45,70,.16); }

.iggcas-pipeline { display: grid; gap: 10px; }
.iggcas-pipeline div { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-top: 1px solid var(--iggcas-line); }
.iggcas-pipeline span { color: #70849a; }
.iggcas-pipeline strong { color: #10233b; text-align: right; }

.iggcas-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.iggcas-metric { min-height: 126px; border: 1px solid var(--iggcas-line); border-radius: 8px; padding: 18px; background: rgba(255,255,255,.72); backdrop-filter: blur(14px); box-shadow: 0 18px 55px rgba(20,45,70,.08); }
.iggcas-metric span { color: #70849a; font-size: 12px; }
.iggcas-metric strong { display: block; margin-top: 16px; color: #10233b; font-size: 24px; }
.iggcas-metric em { display: block; margin-top: 8px; color: #6c7f93; font-style: normal; font-size: 13px; }

.iggcas-ops-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 16px; margin-top: 18px; }
.iggcas-panel { border: 1px solid var(--iggcas-line); border-radius: 8px; padding: 20px; background: rgba(255,255,255,.86); color: #142235; box-shadow: 0 20px 70px rgba(20,45,70,.08); }
.iggcas-panel h3 { margin: 0; color: #10233b; font-size: 18px; }
.iggcas-panel p { margin: 8px 0 0; color: #5d6e82; font-size: 14px; }
.iggcas-workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.iggcas-workflow a,
.iggcas-api-line { border: 1px solid var(--iggcas-line); border-radius: 8px; padding: 14px; background: #f8fbff; text-decoration: none; }
.iggcas-workflow a strong,
.iggcas-api-line strong { display: block; color: #10233b; }
.iggcas-workflow a span,
.iggcas-api-line span { display: block; margin-bottom: 10px; color: #7b8b9d; font-size: 12px; }
.iggcas-api-stack { display: grid; gap: 10px; margin-top: 18px; }
.iggcas-api-line code { display: block; margin-top: 8px; overflow-wrap: anywhere; color: #014099; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

@keyframes iggcasPulse { 70% { box-shadow: 0 0 0 12px rgba(34,201,133,0); } 100% { box-shadow: 0 0 0 0 rgba(34,201,133,0); } }
@keyframes iggcasOrbit { to { transform: rotate(360deg); } }
@keyframes iggcasDrift { from { transform: scale(1.04) translate3d(0,0,0); } to { transform: scale(1.09) translate3d(-24px, 18px, 0); } }

@media (max-width: 1100px) {
  .iggcas-home-hero,
  .iggcas-ops-grid { grid-template-columns: 1fr; }
  .iggcas-metrics,
  .iggcas-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .iggcas-login-brand { display: none; }
  .iggcas-home-dashboard { margin: 0; padding: 22px; }
}

@media (max-width: 640px) {
  .iggcas-metrics,
  .iggcas-workflow { grid-template-columns: 1fr; }
}
