@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,900&display=swap');

/* ==========================================================================
   GEOCIKLO — INTELLIGENCE WORKSPACE (Fase 5B)
   Página completa /diagnostico/. Consume el SmartDiagnosticAdapter (5A) vía REST.
   Archivo NUEVO: no sustituye ni modifica geociklo-diagnostic.css (asset congelado
   del widget de Home).
   ========================================================================== */

.gc-iw {
	--gc-iw-deep: #073F4D;
	--gc-iw-blue: #035877;
	--gc-iw-teal: #06605C;
	--gc-iw-green: #3FAE6A;
	--gc-iw-ink: #073F4D;
	--gc-iw-muted: #55707A;
	--gc-iw-faint: #8AA2AA;
	--gc-iw-line: rgba(7, 63, 77, 0.10);
	--gc-iw-line-strong: rgba(7, 63, 77, 0.18);
	--gc-iw-glass: rgba(255, 255, 255, 0.62);
	--gc-iw-glass-strong: rgba(255, 255, 255, 0.82);

	/* GECS 1.1 Selective Glassmorphism — trasplantado desde la rama
	   feature/diagnostic-circular (:root global) y RE-ALCANZADO aquí: estas
	   custom properties viven en .gc-iw, nunca en :root. Ningún otro
	   componente del sitio puede heredarlas. */
	--gc-iw-glass-bg: rgba(255, 255, 255, 0.72);
	--gc-iw-glass-blur: 18px;
	--gc-iw-glass-border-color: rgba(255, 255, 255, 0.85);
	--gc-iw-glass-shadow: 0 18px 50px rgba(3, 88, 119, 0.08);
	--gc-iw-glass-highlight: inset 0 1px 1px rgba(255, 255, 255, 0.95);
	--gc-iw-shadow: 0 18px 44px rgba(3, 88, 119, 0.10);
	--gc-iw-shadow-sm: 0 6px 18px rgba(3, 88, 119, 0.07);
	--gc-iw-radius: 22px;
	--gc-iw-radius-sm: 14px;
	--gc-iw-t: 180ms cubic-bezier(0.22, 0.61, 0.36, 1);

	position: relative;
	min-height: 92vh;
	padding: 118px 0 0;
	font-family: 'Inter Tight', system-ui, -apple-system, 'Segoe UI', sans-serif;
	color: var(--gc-iw-ink);
	background:
		radial-gradient(1100px 520px at 12% -6%, rgba(63, 174, 106, 0.13), transparent 62%),
		radial-gradient(900px 480px at 92% 4%, rgba(3, 88, 119, 0.12), transparent 60%),
		linear-gradient(180deg, #F4F9F7 0%, #EFF6F5 46%, #F7FAF9 100%);
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}

.gc-iw *,
.gc-iw *::before,
.gc-iw *::after { box-sizing: border-box; }

.gc-iw__shell {
	max-width: var(--gc-page-max, 1380px);
	width: min(calc(100% - (2 * var(--gc-page-gutter, 24px))), var(--gc-page-max, 1380px));
	margin: 0 auto;
	padding: 0 0 120px;
}

/* Ambient data field & Botanical background ----------------------------- */
.gc-iw__field {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.45;
}
.gc-iw__field path {
	fill: none;
	stroke: rgba(7, 63, 77, 0.12);
	stroke-width: 1.2;
	stroke-dasharray: 6 12;
	animation: gc-iw-drift 30s linear infinite;
}
.gc-iw__field path:nth-child(2) { stroke: rgba(63, 174, 106, 0.20); animation-duration: 38s; }
.gc-iw__field path:nth-child(3) { stroke: rgba(6, 96, 92, 0.14); animation-duration: 46s; }
@keyframes gc-iw-drift { to { stroke-dashoffset: -320; } }

.gc-iw__leaf-bg {
	position: absolute;
	top: 100px;
	left: -20px;
	width: 220px;
	height: 440px;
	pointer-events: none;
	z-index: 0;
	opacity: 0.6;
}

.gc-iw__shell > * { position: relative; z-index: 1; }

/* ==========================================================================
   TOPBAR — Brand badge + run id + contexto N/M + Trace toggle
   ========================================================================== */
.gc-iw__topbar {
	position: sticky;
	top: 84px;
	z-index: 30;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 32px;
	padding: 10px 24px;
	border: 1px solid rgba(255, 255, 255, 0.95);
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 4px 24px rgba(7, 63, 77, 0.05);
}

.gc-iw__topbar-brand {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

.gc-iw__logo-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.gc-iw__runid {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #073F4D;
	white-space: nowrap;
}
.gc-iw__runid-dot {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #3FAE6A;
	box-shadow: 0 0 0 0 rgba(63, 174, 106, 0.55);
	animation: gc-iw-pulse 2.6s ease-out infinite;
}
@keyframes gc-iw-pulse {
	70% { box-shadow: 0 0 0 9px rgba(63, 174, 106, 0); }
	100% { box-shadow: 0 0 0 0 rgba(63, 174, 106, 0); }
}

.gc-iw__ctxmeter {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 1 1 340px;
	max-width: 460px;
}
.gc-iw__ctxlabel {
	font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #073F4D;
	white-space: nowrap;
}
.gc-iw__ctxrail {
	position: relative;
	flex: 1 1 auto;
	height: 6px;
	min-width: 120px;
	border-radius: 9999px;
	background: #E2EFE7;
	overflow: hidden;
}
.gc-iw__ctxfill {
	position: absolute;
	inset: 0 auto 0 0;
	width: 0;
	border-radius: 9999px;
	background: linear-gradient(90deg, #3FAE6A, #06605C);
	transition: width 240ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.gc-iw__trace-toggle {
	appearance: none;
	border: 1px solid #D6E8DE;
	background: #FFFFFF;
	color: #073F4D;
	font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 8px 18px;
	border-radius: 9999px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all var(--gc-iw-t);
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(7, 63, 77, 0.03);
}
.gc-iw__trace-toggle:hover {
	background: #F4FAF6;
	border-color: #3FAE6A;
	color: #073F4D;
	transform: translateY(-1px);
}
.gc-iw__trace-ico {
	width: 16px;
	height: 16px;
	object-fit: contain;
}

/* ==========================================================================
   ZERO STATE — HERO + ORBIT GRAPHIC + SECTOR CARDS + RESUME
   ========================================================================== */
.gc-iw__zero {
	padding: 8px 0 50px;
}

.gc-iw__zero-hero {
	display: grid;
	grid-template-columns: 1.18fr 0.92fr;
	gap: 36px;
	align-items: center;
	margin-bottom: 40px;
}

.gc-iw__zero-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.gc-iw__eyebrow-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	margin-bottom: 16px;
	border: 1px solid #D2EDE0;
	border-radius: 9999px;
	background: #E8F6EF;
	font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #06605C;
}
.gc-iw__eyebrow-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #3FAE6A;
}

.gc-iw__h1 {
	font-family: 'Inter Tight', sans-serif !important;
	font-style: normal !important;
	font-size: 46px !important;
	line-height: 52px !important;
	font-weight: 900 !important;
	letter-spacing: -0.03em !important;
	color: rgb(7, 63, 77) !important;
	margin: 0 0 16px !important;
	max-width: 26ch;
}

.gc-iw__lead {
	font-family: 'Inter Tight', sans-serif !important;
	font-style: normal !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
	font-weight: 400 !important;
	color: #52606D !important;
	margin: 0 0 22px !important;
	max-width: 620px !important;
}

.gc-iw__zero-micro {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
	font-style: italic;
	font-weight: 500;
	color: #5F7E78;
	margin: -8px 0 20px;
	max-width: 480px;
}
.gc-iw__zero-micro::before {
	content: '';
	flex: none;
	width: 14px;
	height: 1px;
	margin-top: 9px;
	background: #3FAE6A;
}

.gc-iw__zero-feature-badge {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 10px 18px;
	border-radius: 14px;
	background: #F4FAF6;
	border: 1px solid #D8EFE2;
}
.gc-iw__zero-feature-ico {
	width: 36px;
	height: 36px;
	flex: none;
	display: grid;
	place-items: center;
}
.gc-iw__zero-feature-ico img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}
.gc-iw__zero-feature-txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.gc-iw__zero-feature-title {
	font-family: 'Inter Tight', sans-serif;
	font-size: 13px;
	font-weight: 800;
	color: #073F4D;
	margin: 0;
}
.gc-iw__zero-feature-sub {
	font-size: 12px;
	color: #5F7E78;
	margin: 0;
	font-weight: 500;
}

/* Right Circular Orbit Visual */
.gc-iw__zero-visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 320px;
}

.gc-iw__orbit-container {
	position: relative;
	width: 440px;
	height: 320px;
	margin: 0 auto;
}

.gc-iw__orbit-svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 320px;
	height: 320px;
	pointer-events: none;
}

.gc-iw__orbit-center {
	position: absolute;
	top: 160px;
	left: 160px;
	transform: translate(-50%, -50%);
	width: 86px;
	height: 86px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	z-index: 2;
}

.gc-iw__orbit-glow {
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(63, 174, 106, 0.25) 0%, rgba(63, 174, 106, 0) 70%);
	animation: gc-iw-pulse-glow 3.5s infinite ease-in-out;
}
@keyframes gc-iw-pulse-glow {
	0%, 100% { transform: scale(1); opacity: 0.8; }
	50% { transform: scale(1.15); opacity: 1; }
}

.gc-iw__orbit-core {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: #073F4D;
	display: grid;
	place-items: center;
	padding: 10px;
	box-shadow: 0 10px 25px rgba(7, 63, 77, 0.25);
	border: 2.5px solid #FFFFFF;
	position: relative;
	z-index: 1;
	box-sizing: border-box;
}

.gc-iw__orbit-logo {
	width: 52px;
	height: auto;
	max-height: 32px;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.18));
}

.gc-iw__orbit-node {
	position: absolute;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1.5px solid #D8EFE2;
	box-shadow: 0 8px 20px rgba(7, 63, 77, 0.08);
	display: grid;
	place-items: center;
	z-index: 3;
	transition: transform 0.3s ease, border-color 0.3s ease;
}
.gc-iw__orbit-node:hover {
	transform: scale(1.12);
	border-color: #3FAE6A;
}
.gc-iw__orbit-node img {
	width: 32px;
	height: 32px;
	object-fit: contain;
}
.gc-iw__orbit-node--tl { top: 25px; left: 45px; }
.gc-iw__orbit-node--tr { top: 25px; left: 225px; }
.gc-iw__orbit-node--bl { top: 245px; left: 45px; }
.gc-iw__orbit-node--br { top: 245px; left: 225px; }

.gc-iw__floating-card {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 175px;
	padding: 16px 16px;
	border-radius: 16px;
	background: #FFFFFF;
	border: 1px solid #E2EFE7;
	box-shadow: 0 12px 32px rgba(7, 63, 77, 0.08);
	z-index: 4;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.gc-iw__floating-card-ico {
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
}
.gc-iw__floating-card-ico img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}
.gc-iw__floating-card-title {
	font-family: 'Inter Tight', sans-serif;
	font-size: 13px;
	font-weight: 800;
	color: #073F4D;
	margin: 0;
	line-height: 1.25;
}
.gc-iw__floating-card-desc {
	font-size: 11.5px;
	color: #5F7E78;
	margin: 0;
	line-height: 1.35;
	font-weight: 500;
}

/* Question Title Header */
.gc-iw__zero-q-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
}
.gc-iw__zero-q-ico {
	flex: none;
}
.gc-iw__zero-q {
	font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #073F4D;
	margin: 0;
}

/* 4 Sector Cards Horizontal Grid */
.gc-iw__entries {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 28px;
}

.gc-iw__entry {
	appearance: none;
	text-align: left;
	font: inherit;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 14px;
	border-radius: 18px;
	background: #FFFFFF;
	border: 1.5px solid #E2EFE7;
	box-shadow: 0 4px 16px rgba(7, 63, 77, 0.03);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	min-height: 96px;
	width: 100%;
	white-space: normal;
}
.gc-iw__entry:hover,
.gc-iw__entry:focus-visible {
	transform: translateY(-3px);
	border-color: #3FAE6A;
	background: #FFFFFF;
	box-shadow: 0 10px 28px rgba(63, 174, 106, 0.12);
	outline: none;
}
.gc-iw__entry:focus-visible {
	outline: 3px solid rgba(63, 174, 106, 0.45);
	outline-offset: 3px;
}

.gc-iw__entry-ico-wrap {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #F0F8F3;
	display: grid;
	place-items: center;
	flex: 0 0 46px;
	border: 1px solid #E0F2E7;
}
.gc-iw__entry-3d {
	width: 32px;
	height: 32px;
	object-fit: contain;
	flex: none;
}

.gc-iw__entry-content {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1 1 auto;
	min-width: 0;
}
.gc-iw__entry-t {
	font-family: 'Inter Tight', 'Inter', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 800;
	color: #073F4D;
	margin: 0;
	line-height: 1.2;
	text-transform: none;
}
.gc-iw__entry-d {
	font-size: 11px;
	line-height: 1.35;
	color: #62827C;
	font-weight: 500;
	margin: 0;
	white-space: normal;
}

.gc-iw__entry-arrow {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #F4FAF6;
	border: 1px solid #DCEEE3;
	color: #06605C;
	display: grid;
	place-items: center;
	flex: 0 0 26px;
	margin-left: auto;
	transition: all 0.2s ease;
}
.gc-iw__entry:hover .gc-iw__entry-arrow {
	background: #3FAE6A;
	color: #FFFFFF;
	border-color: #3FAE6A;
	transform: translateX(2px);
}

/* Resume Banner */
.gc-iw__resume {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px 28px;
	border-radius: 20px;
	background: #EAF5EE;
	border: 1px solid #D2E7DC;
	margin-bottom: 24px;
}
.gc-iw__resume-left {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 1 1 420px;
}
.gc-iw__resume-ico {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1px solid #D2E7DC;
	box-shadow: 0 4px 14px rgba(7, 63, 77, 0.05);
	display: grid;
	place-items: center;
	flex: none;
}
.gc-iw__resume-ico img {
	width: 36px;
	height: 36px;
	object-fit: contain;
}
.gc-iw__resume-txt {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.gc-iw__resume-t {
	font-family: 'Inter Tight', sans-serif;
	font-size: 16px;
	font-weight: 800;
	color: #073F4D;
	margin: 0;
}
.gc-iw__resume-d {
	font-size: 12.5px;
	color: #557872;
	font-weight: 500;
	margin: 0;
}

.gc-iw__resume-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	flex: 0 1 460px;
}
.gc-iw__textwrap {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	background: #FFFFFF;
	border: 1px solid #CBE2D5;
	border-radius: 12px;
	padding: 4px 4px 4px 12px;
	box-shadow: 0 2px 8px rgba(7, 63, 77, 0.03);
}
.gc-iw__resume-input-icon {
	display: grid;
	place-items: center;
	margin-right: 8px;
	flex: none;
}
.gc-iw__text {
	flex: 1 1 auto;
	border: none;
	outline: none;
	background: transparent;
	font-family: monospace, monospace;
	font-size: 13px;
	color: #073F4D;
	padding: 8px 4px;
}
.gc-iw__btn--retomar {
	background: #073F4D;
	color: #FFFFFF;
	border: none;
	border-radius: 9px;
	padding: 10px 20px;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 800;
	font-size: 13px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
	flex: none;
}
.gc-iw__btn--retomar:hover {
	background: #06605C;
	transform: translateY(-1px);
}
.gc-iw__resume-security {
	font-size: 11.5px;
	color: #557872;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
}

/* ==========================================================================
   LIFECYCLE CARDS (ACTIVE RESUME, COMPLETED HISTORY, CONTEXTUAL MEMORY)
   ========================================================================== */
.gc-iw__lifecycle-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 28px;
	border-radius: 20px;
	margin-bottom: 28px;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}
.gc-iw__lifecycle-card[hidden] {
	display: none !important;
}
.gc-iw__lifecycle-card--active {
	border: 1.5px solid #3FAE6A;
	background: linear-gradient(135deg, #EDF8F2 0%, #FFFFFF 100%);
	box-shadow: 0 10px 30px rgba(63, 174, 106, 0.12);
}
.gc-iw__lifecycle-card--completed {
	border: 1.5px solid #BDDFCC;
	background: linear-gradient(135deg, #F2FAF5 0%, #FFFFFF 100%);
	box-shadow: 0 10px 30px rgba(7, 63, 77, 0.07);
}
.gc-iw__lifecycle-card--context {
	border: 1.5px solid #D2E7DC;
	background: linear-gradient(135deg, #EAF5EE 0%, #FFFFFF 100%);
	box-shadow: 0 8px 24px rgba(7, 63, 77, 0.05);
}
.gc-iw__lifecycle-card--conflict {
	border: 1.5px solid #E3B341;
	background: linear-gradient(135deg, #FEF8EA 0%, #FFFFFF 100%);
	box-shadow: 0 10px 30px rgba(180, 130, 20, 0.12);
	flex-direction: column;
	align-items: stretch;
	gap: 18px;
}
.gc-iw__lifecycle-card--conflict .gc-iw__lifecycle-left {
	flex: 1 1 auto;
}
.gc-iw__conflict-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}
.gc-iw__conflict-compare-item {
	border: 1px solid #EAD9A8;
	background: rgba(255, 255, 255, 0.72);
	border-radius: 14px;
	padding: 14px 16px;
}
.gc-iw__conflict-compare-label {
	display: block;
	font-family: 'Inter Tight', sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8A6B1E;
	margin-bottom: 6px;
}
.gc-iw__conflict-compare-value {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	color: #073F4D;
	line-height: 1.4;
}
.gc-iw__conflict-compare-sub {
	display: block;
	font-size: 12px;
	font-weight: 500;
	color: #557872;
	margin-top: 2px;
}
.gc-iw__lifecycle-card--conflict .gc-iw__lifecycle-actions {
	justify-content: flex-end;
}
@media (max-width: 640px) {
	.gc-iw__conflict-compare { grid-template-columns: 1fr; }
}
.gc-iw__lifecycle-left {
	display: flex;
	align-items: center;
	gap: 18px;
	flex: 1 1 auto;
	min-width: 0;
}
.gc-iw__lifecycle-ico {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #FFFFFF;
	border: 1px solid #D2E7DC;
	box-shadow: 0 4px 14px rgba(7, 63, 77, 0.06);
	display: grid;
	place-items: center;
	flex: none;
}
.gc-iw__lifecycle-ico img {
	width: 34px;
	height: 34px;
	object-fit: contain;
}
.gc-iw__lifecycle-txt {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.gc-iw__lifecycle-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 10px;
	border-radius: 9999px;
	background: #E8F6EF;
	border: 1px solid #D2EDE0;
	font-family: 'Inter Tight', sans-serif;
	font-size: 11px;
	font-weight: 800;
	color: #06605C;
	letter-spacing: 0.06em;
	width: fit-content;
	margin-bottom: 2px;
}
.gc-iw__lifecycle-title {
	font-family: 'Inter Tight', sans-serif;
	font-size: 17px;
	font-weight: 800;
	color: #073F4D;
	margin: 0;
	line-height: 1.25;
}
.gc-iw__lifecycle-desc {
	font-size: 13px;
	color: #557872;
	font-weight: 500;
	margin: 0;
	line-height: 1.45;
}
.gc-iw__lifecycle-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: none;
	flex-wrap: wrap;
}
.gc-iw__btn--secondary {
	background: #FFFFFF;
	color: #073F4D;
	border: 1.5px solid #D2E7DC;
	border-radius: 10px;
	padding: 10px 18px;
	font-family: 'Inter Tight', sans-serif;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	transition: all 0.2s ease;
	white-space: nowrap;
}
.gc-iw__btn--secondary:hover {
	background: #F4FAF6;
	border-color: #3FAE6A;
	color: #06605C;
	transform: translateY(-1px);
}

/* Responsive Breakpoints for Hero & Entries */
@media (max-width: 1100px) {
	.gc-iw__zero-hero { grid-template-columns: 1fr; gap: 30px; }
	.gc-iw__entries { grid-template-columns: repeat(2, 1fr); }
	.gc-iw__resume { flex-direction: column; align-items: stretch; gap: 18px; }
	.gc-iw__resume-right { align-items: stretch; flex: 1 1 auto; }
}
@media (max-width: 640px) {
	.gc-iw__h1 { font-size: 32px; }
	.gc-iw__entries { grid-template-columns: 1fr; }
	.gc-iw__topbar { flex-direction: column; align-items: stretch; border-radius: 20px; }
}

/* ==========================================================================
   WORKSPACE GRID (3 columnas desktop)
   ========================================================================== */
.gc-iw__workspace { display: none; }
.gc-iw[data-gc-stage="workspace"] .gc-iw__workspace,
.gc-iw[data-gc-stage="orientation"] .gc-iw__workspace { display: block; }
.gc-iw[data-gc-stage="workspace"] .gc-iw__zero,
.gc-iw[data-gc-stage="orientation"] .gc-iw__zero { display: none; }

.gc-iw__grid {
	display: grid;
	grid-template-columns: 290px minmax(0, 1fr) 350px;
	gap: 28px;
	align-items: start;
}

.gc-iw__col { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.gc-iw__col--left { position: sticky; top: 158px; }
.gc-iw__col--right { position: sticky; top: 158px; }

.gc-iw__panel {
	border: 1.5px solid rgba(255, 255, 255, 0.95);
	border-radius: var(--gc-iw-radius);
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	box-shadow: 0 10px 32px rgba(7, 63, 77, 0.04), 0 1px 3px rgba(7, 63, 77, 0.02);
	padding: 24px;
}
.gc-iw__panel--center {
	padding: 38px 42px 34px;
	background: rgba(255, 255, 255, 0.92);
	border-radius: 24px;
	box-shadow: 0 16px 48px rgba(7, 63, 77, 0.06);
}

.gc-iw__panel-h {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 11.5px;
	font-weight: 900;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--gc-iw-deep);
	margin: 0 0 18px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(7, 63, 77, 0.06);
}
.gc-iw__panel-h svg { flex: none; color: var(--gc-iw-deep); }

/* ==========================================================================
   COLUMNA IZQUIERDA — GEOCIKLO INTELLIGENCE & INSPECTOR
   ========================================================================== */
.gc-iw__signals {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 20px;
}
.gc-iw__stepper-line {
	position: absolute;
	left: 6px;
	top: 10px;
	bottom: 10px;
	width: 2px;
	border-left: 2px dashed rgba(7, 63, 77, 0.18);
	z-index: 0;
}
.gc-iw__signal {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13.5px;
	line-height: 1.4;
	font-weight: 700;
	color: var(--gc-iw-faint);
	transition: color var(--gc-iw-t);
}
.gc-iw__signal-dot {
	flex: none;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #D9E4E2;
	border: 2.5px solid #FFF;
	box-shadow: 0 0 0 1px rgba(7, 63, 77, 0.12);
	transition: all var(--gc-iw-t);
}
.gc-iw__signal.is-active {
	color: var(--gc-iw-deep);
	font-weight: 800;
}
.gc-iw__signal.is-active .gc-iw__signal-dot {
	background: var(--gc-iw-green);
	box-shadow: 0 0 0 3px rgba(63, 174, 106, 0.25);
}
.gc-iw__signal--muted .gc-iw__signal-dot { background: #D9E4E2; }
.gc-iw__signal--muted { color: var(--gc-iw-faint); }

.gc-iw__engine-badge {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	background: rgba(63, 174, 106, 0.08);
	border: 1px solid rgba(63, 174, 106, 0.20);
	border-radius: 12px;
}
.gc-iw__engine-badge svg { flex-shrink: 0; margin-top: 1px; }
.gc-iw__engine-meta {
	margin: 0;
	font-size: 11.5px;
	line-height: 1.4;
	color: var(--gc-iw-teal);
	font-weight: 600;
}

/* Evaluation inspector panel */
.gc-iw__vars { display: flex; flex-direction: column; gap: 6px; }
.gc-iw__var {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(7, 63, 77, 0.05);
	font-size: 13px;
	font-weight: 700;
	color: var(--gc-iw-deep);
	width: 100%;
	text-align: left;
	transition: background var(--gc-iw-t), border-color var(--gc-iw-t), transform var(--gc-iw-t);
}
button.gc-iw__var { cursor: pointer; }
button.gc-iw__var:hover {
	background: rgba(255, 255, 255, 0.95);
	border-color: rgba(63, 174, 106, 0.35);
	transform: translateX(2px);
}
.gc-iw__var-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
}
.gc-iw__var-name {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 13px;
	color: var(--gc-iw-deep);
}
.gc-iw__var-state {
	font-size: 9.5px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 9999px;
	white-space: nowrap;
}
.gc-iw__var[data-state="evaluado"] .gc-iw__var-state {
	background: var(--gc-iw-green);
	color: #FFF;
}
.gc-iw__var[data-state="conocido"] .gc-iw__var-state {
	background: rgba(3, 88, 119, 0.12);
	color: var(--gc-iw-blue);
}
.gc-iw__var[data-state="pendiente"] {
	color: var(--gc-iw-faint);
}
.gc-iw__var[data-state="pendiente"] .gc-iw__var-name {
	color: var(--gc-iw-faint);
	font-weight: 600;
}
.gc-iw__var[data-state="pendiente"] .gc-iw__var-state {
	background: rgba(138, 162, 170, 0.14);
	color: var(--gc-iw-faint);
}

/* "Última actualización del contexto" */
.gc-iw__changed {
	margin-top: 18px;
	padding: 16px 18px;
	border: 1px solid rgba(63, 174, 106, 0.30);
	border-radius: 16px;
	background: linear-gradient(135deg, rgba(63, 174, 106, 0.12), rgba(255, 255, 255, 0.75));
	animation: gc-iw-rise 220ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes gc-iw-rise {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}
.gc-iw__changed-head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.gc-iw__changed-h {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--gc-iw-deep);
	margin: 0;
}
.gc-iw__changed-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.gc-iw__changed-list li {
	font-size: 13.5px;
	line-height: 1.4;
	font-weight: 700;
	color: var(--gc-iw-deep);
}

/* ==========================================================================
   COLUMNA CENTRAL — PREGUNTA ACTUAL
   ========================================================================== */
.gc-iw__q-crit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gc-iw-blue);
	margin-bottom: 14px;
}
.gc-iw__q-crit-bar { display: inline-flex; gap: 4px; }
.gc-iw__q-crit-bar i {
	width: 18px; height: 5px;
	border-radius: 3px;
	background: rgba(7, 63, 77, 0.10);
}
.gc-iw__q-crit-bar i.is-on { background: var(--gc-iw-green); }

.gc-iw__q-label {
	font-family: 'Inter Tight', system-ui, sans-serif;
	font-size: 34px;
	line-height: 1.18;
	font-weight: 900;
	letter-spacing: -0.03em;
	color: var(--gc-iw-deep);
	margin: 0 0 10px;
	max-width: 34ch;
}
.gc-iw__q-help {
	font-size: 15.5px;
	line-height: 1.5;
	color: var(--gc-iw-muted);
	font-weight: 500;
	margin: 0 0 20px;
	max-width: 60ch;
}

/* "¿Por qué te preguntamos esto?" */
.gc-iw__why { margin: 0 0 24px; }
.gc-iw__why-btn {
	appearance: none;
	border: 1px solid rgba(7, 63, 77, 0.12);
	background: rgba(255, 255, 255, 0.7);
	color: var(--gc-iw-deep);
	font: inherit;
	font-size: 12.5px;
	font-weight: 700;
	padding: 7px 16px;
	border-radius: 9999px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all var(--gc-iw-t);
}
.gc-iw__why-btn:hover {
	background: rgba(63, 174, 106, 0.10);
	border-color: var(--gc-iw-green);
}
.gc-iw__why-btn svg { transition: transform var(--gc-iw-t); }
.gc-iw__why-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.gc-iw__why-body {
	margin-top: 12px;
	padding: 16px 18px;
	border-left: 3px solid var(--gc-iw-green);
	border-radius: 0 var(--gc-iw-radius-sm) var(--gc-iw-radius-sm) 0;
	background: rgba(63, 174, 106, 0.07);
	animation: gc-iw-rise 180ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.gc-iw__why-body[hidden] { display: none; }
.gc-iw__why-body p { margin: 0 0 10px; font-size: 13.5px; line-height: 1.55; color: var(--gc-iw-ink); font-weight: 600; }
.gc-iw__why-body ul { margin: 0; padding: 0 0 0 2px; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.gc-iw__why-body li {
	font-size: 13px; line-height: 1.45; color: var(--gc-iw-muted); font-weight: 600;
	display: flex; align-items: flex-start; gap: 8px;
}
.gc-iw__why-body li::before {
	content: ''; flex: none; width: 6px; height: 6px; margin-top: 6px;
	border-radius: 50%; background: var(--gc-iw-teal);
}

/* ------------------------- CONTROLES VISUALES --------------------------- */
.gc-iw__control { margin-bottom: 4px; }

/* material -> selector visual */
.gc-iw__materials {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
	gap: 12px;
}
.gc-iw__mat {
	appearance: none; font: inherit; cursor: pointer; text-align: center;
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	padding: 18px 12px;
	border: 1.5px solid var(--gc-iw-line-strong);
	border-radius: var(--gc-iw-radius-sm);
	background: rgba(255, 255, 255, 0.66);
	color: var(--gc-iw-ink);
	font-size: 13.5px; font-weight: 700;
	transition: transform var(--gc-iw-t), border-color var(--gc-iw-t), background var(--gc-iw-t), box-shadow var(--gc-iw-t);
}
.gc-iw__mat-ico {
	width: 44px; height: 44px; display: grid; place-items: center;
	border-radius: 50%;
	background: linear-gradient(140deg, rgba(3, 88, 119, 0.10), rgba(63, 174, 106, 0.14));
	color: var(--gc-iw-teal);
	transition: background var(--gc-iw-t), color var(--gc-iw-t), transform var(--gc-iw-t);
}
.gc-iw__mat:hover { transform: translateY(-3px); border-color: rgba(63, 174, 106, 0.5); box-shadow: var(--gc-iw-shadow-sm); }
.gc-iw__mat[aria-pressed="true"] {
	border-color: var(--gc-iw-green);
	background: rgba(63, 174, 106, 0.12);
	box-shadow: 0 0 0 1px var(--gc-iw-green) inset;
}
.gc-iw__mat[aria-pressed="true"] .gc-iw__mat-ico {
	background: var(--gc-iw-green); color: #FFF; transform: scale(1.06);
}
.gc-iw__mat:focus-visible { outline: 3px solid rgba(63, 174, 106, 0.45); outline-offset: 2px; }

/* Vertical stack of Option Cards */
.gc-iw__options-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 24px;
}
.gc-iw__opt-card {
	appearance: none;
	font: inherit;
	cursor: pointer;
	width: 100%;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	border-radius: 14px;
	border: 1.5px solid rgba(7, 63, 77, 0.08);
	background: rgba(255, 255, 255, 0.85);
	color: var(--gc-iw-deep);
	transition: all var(--gc-iw-t);
}
.gc-iw__opt-card:hover {
	border-color: rgba(63, 174, 106, 0.45);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(7, 63, 77, 0.05);
}
.gc-iw__opt-card[aria-pressed="true"],
.gc-iw__opt-card.is-selected {
	border-color: var(--gc-iw-green);
	background: rgba(63, 174, 106, 0.08);
	box-shadow: 0 0 0 1px var(--gc-iw-green) inset, 0 6px 20px rgba(63, 174, 106, 0.10);
}
.gc-iw__opt-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(63, 174, 106, 0.15);
	color: var(--gc-iw-teal);
	font-size: 14px;
	font-weight: 900;
	flex-shrink: 0;
}
.gc-iw__opt-card.is-selected .gc-iw__opt-badge {
	background: var(--gc-iw-green);
	color: #FFF;
}
.gc-iw__opt-label {
	flex: 1 1 auto;
	font-family: 'Inter Tight', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--gc-iw-deep);
}
.gc-iw__opt-ico {
	color: var(--gc-iw-faint);
	display: inline-flex;
	flex-shrink: 0;
}

/* text fallback */
.gc-iw__textwrap { display: flex; gap: 12px; flex-wrap: wrap; }
.gc-iw__text {
	flex: 1 1 260px;
	font: inherit;
	font-size: 16px;
	font-weight: 600;
	padding: 15px 18px;
	border: 1.5px solid var(--gc-iw-line-strong);
	border-radius: var(--gc-iw-radius-sm);
	background: rgba(255, 255, 255, 0.78);
	color: var(--gc-iw-ink);
	transition: border-color var(--gc-iw-t), box-shadow var(--gc-iw-t);
}
.gc-iw__text:focus { outline: none; border-color: var(--gc-iw-green); box-shadow: 0 0 0 3px rgba(63, 174, 106, 0.18); }

/* acciones bajo la pregunta */
.gc-iw__qactions {
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	margin-top: 24px;
}

.gc-iw__btn {
	appearance: none; font: inherit; cursor: pointer;
	display: inline-flex; align-items: center; gap: 9px;
	padding: 13px 24px;
	border-radius: 9999px;
	border: 1px solid transparent;
	font-size: 14px; font-weight: 800;
	transition: transform var(--gc-iw-t), background var(--gc-iw-t), box-shadow var(--gc-iw-t), color var(--gc-iw-t), border-color var(--gc-iw-t);
}
.gc-iw__btn--primary {
	background: linear-gradient(135deg, var(--gc-iw-blue) 0%, var(--gc-iw-teal) 100%);
	color: #FFF;
	box-shadow: 0 10px 24px rgba(3, 88, 119, 0.20);
}
.gc-iw__btn--confirm {
	width: 100%;
	justify-content: center;
	padding: 16px 28px;
	border-radius: 9999px;
	background: var(--gc-iw-deep);
	color: #FFF;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.02em;
	box-shadow: 0 8px 24px rgba(7, 63, 77, 0.20);
	gap: 10px;
	display: inline-flex;
	align-items: center;
	border: none;
	cursor: pointer;
	transition: all var(--gc-iw-t);
}
.gc-iw__btn--confirm:hover:not(:disabled) {
	background: #035877;
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(7, 63, 77, 0.28);
}
.gc-iw__btn-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	color: #FFF;
}
.gc-iw__btn--ghost {
	background: rgba(255, 255, 255, 0.7);
	border-color: var(--gc-iw-line-strong);
	color: var(--gc-iw-ink);
}
.gc-iw__btn--ghost:hover:not(:disabled) { border-color: var(--gc-iw-green); background: rgba(63, 174, 106, 0.10); }
.gc-iw__btn:disabled { opacity: 0.42; cursor: not-allowed; }
.gc-iw__btn:focus-visible { outline: 3px solid rgba(63, 174, 106, 0.45); outline-offset: 3px; }
.gc-iw__btn--link {
	background: none; border: none; padding: 6px 12px;
	color: var(--gc-iw-teal); text-decoration: underline; text-underline-offset: 3px;
	font-size: 13.5px; font-weight: 700;
	display: block; margin: 0 auto;
	cursor: pointer;
}
.gc-iw__btn--link:hover { color: var(--gc-iw-green); }

/* ACCIONES DISPONIBLES */
.gc-iw__panel--actions {
	margin-top: 24px;
	padding: 24px 28px;
	border-radius: 20px;
}
.gc-iw__actions-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 0;
	padding-top: 0;
	border-top: none;
	width: 100%;
}
.gc-iw__action-pill {
	appearance: none;
	font: inherit;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-radius: 9999px;
	border: 1.5px solid rgba(7, 63, 77, 0.10);
	background: #FFF;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--gc-iw-deep);
	transition: all var(--gc-iw-t);
	width: 100%;
}
.gc-iw__action-pill:hover {
	border-color: var(--gc-iw-green);
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(7, 63, 77, 0.06);
}
.gc-iw__action-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(7, 63, 77, 0.05);
	color: var(--gc-iw-deep);
	flex-shrink: 0;
}
.gc-iw__action-label {
	flex: 1 1 auto;
	text-align: left;
}
.gc-iw__action-chev {
	color: var(--gc-iw-faint);
	display: inline-flex;
	flex-shrink: 0;
}

/* Sufficient context */
.gc-iw__sufficient {
	margin-top: 22px;
	padding: 22px 24px;
	border: 1px solid rgba(63, 174, 106, 0.42);
	border-radius: var(--gc-iw-radius-sm);
	background: linear-gradient(125deg, rgba(63, 174, 106, 0.13), rgba(255, 255, 255, 0.7));
	animation: gc-iw-rise 220ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.gc-iw__sufficient-t { font-size: 18px; font-weight: 800; margin: 0 0 6px; letter-spacing: -0.02em; }
.gc-iw__sufficient-d { font-size: 13.5px; color: var(--gc-iw-muted); margin: 0 0 18px; line-height: 1.5; }
.gc-iw__sufficient-a { display: flex; gap: 12px; flex-wrap: wrap; }

/* ==========================================================================
   COLUMNA DERECHA — PERFIL CIRCULAR
   ========================================================================== */
.gc-iw__profile-card {
	background: #F4F8F6;
	border: 1px solid rgba(63, 174, 106, 0.18);
	border-radius: 18px;
	padding: 20px;
	margin-bottom: 20px;
}
.gc-iw__profile-metric {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.gc-iw__profile-metric-info { flex: 1 1 auto; }
.gc-iw__profile-metric-l {
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.10em;
	text-transform: uppercase;
	color: var(--gc-iw-muted);
	margin: 0 0 6px;
}
.gc-iw__profile-metric-v {
	font-family: 'Inter Tight', system-ui, sans-serif;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.2;
	color: var(--gc-iw-deep);
	margin: 0;
}
.gc-iw__profile-metric-s {
	font-size: 11.5px;
	line-height: 1.45;
	color: var(--gc-iw-muted);
	margin: 12px 0 0;
	font-weight: 500;
}
.gc-iw__profile-gauge {
	position: relative;
	width: 68px;
	height: 68px;
	flex-shrink: 0;
	display: grid;
	place-items: center;
}
.gc-iw__profile-gauge svg { transform: rotate(-90deg); }
.gc-iw__gauge-txt {
	position: absolute;
	font-family: 'Inter Tight', system-ui, sans-serif;
	font-size: 16px;
	font-weight: 900;
	color: var(--gc-iw-deep);
}

.gc-iw__facts { display: flex; flex-direction: column; gap: 12px; }
.gc-iw__fact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid rgba(7, 63, 77, 0.06);
	gap: 12px;
	animation: gc-iw-rise 200ms cubic-bezier(0.22, 0.61, 0.36, 1);
}
.gc-iw__fact:last-child { border-bottom: none; }
.gc-iw__fact-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: rgba(63, 174, 106, 0.12);
	color: var(--gc-iw-teal);
	flex-shrink: 0;
}
.gc-iw__fact-k {
	flex: 1 1 auto;
	font-size: 10.5px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gc-iw-muted);
}
.gc-iw__fact-v {
	font-family: 'Inter Tight', system-ui, sans-serif;
	font-size: 14.5px;
	font-weight: 800;
	color: var(--gc-iw-deep);
	text-align: right;
}
.gc-iw__empty { font-size: 13px; color: var(--gc-iw-faint); font-weight: 600; line-height: 1.5; margin: 0; }

/* ==========================================================================
   09 — ORIENTATION MAP & 3-COLUMN VISUAL SYSTEM
   ========================================================================== */
.gc-iw__orientation { display: none; margin-top: 40px; }
.gc-iw[data-gc-stage="orientation"] .gc-iw__orientation { display: block; }
.gc-iw[data-gc-stage="orientation"] .gc-iw__zero { display: none; }
.gc-iw[data-gc-stage="orientation"] .gc-iw__workspace { display: block; }

.gc-iw__o-head { margin-bottom: 24px; }
.gc-iw__o-interest-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 14px;
	border-radius: 9999px;
	background: #E6F4EA;
	border: 1px solid rgba(16, 185, 129, 0.25);
	color: #065F46;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 12px;
}
.gc-iw__o-interest-tag svg { color: #10B981; }

.gc-iw__o-title {
	font-family: 'Inter Tight', var(--gc-iw-font-sans);
	font-size: 34px; font-weight: 900; letter-spacing: -0.032em;
	color: #073F4D; margin: 0 0 10px; line-height: 1.14;
}
.gc-iw__o-disclaimer {
	font-size: 13.5px; line-height: 1.55; color: #64748B; font-weight: 600;
	max-width: 74ch; margin: 0;
	padding-left: 14px; border-left: 3px solid #10B981;
}

/* Outer wrapper for 3-Column system */
.gc-iw__o-system-wrapper {
	margin-bottom: 30px;
}
.gc-iw__o-system {
	display: grid;
	grid-template-columns: 290px auto 1fr auto 330px;
	align-items: stretch;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 24px;
	padding: 24px 22px;
	box-shadow: 0 12px 36px -8px rgba(7, 63, 77, 0.06);
	gap: 0;
}

/* Connectors */
.gc-iw__o-conn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 32px;
	flex: none;
	position: relative;
}
.gc-iw__o-conn-line {
	width: 100%;
	height: 1.5px;
	background-image: linear-gradient(to right, #94A3B8 33%, rgba(255,255,255,0) 0%);
	background-position: bottom;
	background-size: 6px 1.5px;
	background-repeat: repeat-x;
}
.gc-iw__o-conn-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #10B981;
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

/* Columns General */
.gc-iw__o-col {
	display: flex;
	flex-direction: column;
}
.gc-iw__o-col-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
}
.gc-iw__o-col-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #047857;
}
.gc-iw__o-col-title {
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #073F4D;
}

/* COLUMN 1: CONTEXTO DECLARADO */
.gc-iw__o-col--context {
	padding: 4px 10px 4px 4px;
}
.gc-iw__o-metric-card {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 16px 18px;
	margin-bottom: 18px;
}
.gc-iw__o-metric-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 4px;
}
.gc-iw__o-metric-num {
	font-family: 'Inter Tight', var(--gc-iw-font-sans);
	font-size: 36px;
	font-weight: 900;
	color: #073F4D;
	line-height: 1;
	letter-spacing: -0.03em;
}
.gc-iw__o-metric-badge {
	display: inline-flex;
	align-items: center;
}
.gc-iw__o-metric-sub {
	margin: 0;
	font-size: 12.5px;
	font-weight: 600;
	color: #64748B;
}

.gc-iw__o-summary-box {
	flex: 1;
	margin-bottom: 14px;
}
.gc-iw__o-summary-title {
	font-size: 12.5px;
	font-weight: 800;
	color: #073F4D;
	margin: 0 0 12px;
}
.gc-iw__o-summary-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.gc-iw__o-sum-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	font-size: 12px;
}
.gc-iw__o-sum-left {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #475569;
	font-weight: 600;
}
.gc-iw__o-sum-ico {
	display: inline-flex;
	align-items: center;
	color: #047857;
}
.gc-iw__o-sum-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 9999px;
	background: #F1F5F9;
	color: #073F4D;
	font-weight: 700;
	font-size: 11.5px;
	white-space: nowrap;
}

.gc-iw__o-context-link {
	appearance: none;
	background: none;
	border: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #035877;
	font-size: 12.5px;
	font-weight: 700;
	padding: 6px 0;
	transition: color 0.15s ease, gap 0.15s ease;
}
.gc-iw__o-context-link:hover {
	color: #10B981;
	gap: 9px;
}

/* COLUMN 2: RUTA PRINCIPAL (HERO CARD) */
.gc-iw__o-col--main {
	padding: 0 12px;
	display: flex;
}
.gc-iw__o-main-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}

.gc-iw__o-hero-dark {
	background: linear-gradient(135deg, #073F4D 0%, #064E3B 55%, #032B25 100%);
	padding: 24px 26px 22px;
	position: relative;
	color: #FFFFFF;
}
.gc-iw__o-hero-pills {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}
.gc-iw__o-pill-star {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	background: #DCFCE7;
	border-radius: 9999px;
	color: #166534;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.gc-iw__o-pill-rec {
	display: inline-flex;
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 9999px;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 600;
}

.gc-iw__o-hero-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.gc-iw__o-hero-texts {
	flex: 1;
}
.gc-iw__o-hero-need-tag {
	display: block;
	font-size: 10.5px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #6EE7B7;
	margin-bottom: 6px;
}
.gc-iw__o-hero-title {
	font-family: 'Inter Tight', var(--gc-iw-font-sans);
	font-size: 24px;
	font-weight: 900;
	color: #FFFFFF;
	margin: 0 0 10px;
	line-height: 1.2;
	letter-spacing: -0.025em;
}
.gc-iw__o-hero-desc {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.85);
	font-weight: 500;
	max-width: 48ch;
}
.gc-iw__o-hero-emblem {
	flex: none;
	width: 96px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.gc-iw__o-emblem-graphic {
	display: flex;
	align-items: center;
	justify-content: center;
	filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.25));
}

/* Lower Process Area */
.gc-iw__o-process {
	padding: 20px 24px;
	background: #FFFFFF;
	display: flex;
	flex-direction: column;
	gap: 18px;
	flex: 1;
	justify-content: space-between;
}

.gc-iw__o-stepper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	padding: 12px 14px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
}
.gc-iw__o-step {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
	min-width: 0;
}
.gc-iw__o-step-ico {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #E6F4EA;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
}
.gc-iw__o-step.is-highlighted .gc-iw__o-step-ico {
	background: #10B981;
}
.gc-iw__o-step.is-highlighted .gc-iw__o-step-ico svg {
	stroke: #FFFFFF;
}
.gc-iw__o-step-info {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.gc-iw__o-step-title {
	font-size: 11.5px;
	font-weight: 800;
	color: #073F4D;
	line-height: 1.2;
}
.gc-iw__o-step-sub {
	font-size: 10.5px;
	font-weight: 500;
	color: #64748B;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.gc-iw__o-step-arrow {
	display: flex;
	align-items: center;
	color: #CBD5E1;
	flex: none;
}

.gc-iw__o-actions-row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.gc-iw__o-btn-rec {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	background: #073F4D;
	color: #FFFFFF;
	border-radius: 9999px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.15s ease;
}
.gc-iw__o-btn-rec:hover {
	background: #0B4D3C;
	color: #FFFFFF;
	transform: translateY(-1px);
}
.gc-iw__o-btn-review {
	appearance: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 18px;
	background: #FFFFFF;
	border: 1.5px solid #CBD5E1;
	border-radius: 9999px;
	color: #073F4D;
	font-size: 13px;
	font-weight: 700;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.gc-iw__o-btn-review:hover {
	border-color: #073F4D;
	background: #F8FAFC;
}
.gc-iw__o-disclaimer-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 600;
	color: #64748B;
	margin-left: auto;
}

/* COLUMN 3: SOLUCIONES RELACIONADAS */
.gc-iw__o-col--related {
	padding: 4px 4px 4px 10px;
}
.gc-iw__o-routes-stack {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
	margin-bottom: 14px;
}

/* Solution Cards in Column 3 */
.gc-iw__sol {
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	background: #FFFFFF;
	padding: 14px 16px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.gc-iw__sol:hover {
	border-color: #A7F3D0;
	box-shadow: 0 8px 24px -4px rgba(7, 63, 77, 0.08);
	transform: translateY(-1px);
}
.gc-iw__sol-inner {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.gc-iw__sol-icon-box {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #E6F4EA;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	margin-top: 2px;
}
.gc-iw__sol-content {
	flex: 1;
	min-width: 0;
}
.gc-iw__sol-affinity {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 9999px;
	background: #ECFDF5;
	color: #065F46;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.gc-iw__sol-title {
	font-size: 14.5px;
	font-weight: 800;
	color: #073F4D;
	margin: 0 0 4px;
	line-height: 1.25;
}
.gc-iw__sol-desc {
	margin: 0 0 10px;
	font-size: 11.5px;
	line-height: 1.45;
	color: #64748B;
	font-weight: 500;
}
.gc-iw__sol-links {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.gc-iw__why-btn {
	appearance: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	font-size: 11.5px;
	font-weight: 700;
	color: #64748B;
	text-decoration: underline;
	transition: color 0.15s ease;
}
.gc-iw__why-btn:hover {
	color: #073F4D;
}
.gc-iw__sol-go {
	font-size: 11.5px;
	font-weight: 800;
	color: #035877;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: color 0.15s ease, gap 0.15s ease;
}
.gc-iw__sol-go:hover {
	color: #10B981;
	gap: 7px;
}
.gc-iw__why-sol-body {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #F1F5F9;
}
.gc-iw__why-sol-body[hidden] {
	display: none;
}

.gc-iw__o-all-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 700;
	color: #073F4D;
	text-decoration: none;
	margin-top: auto;
	padding: 6px 0;
	transition: color 0.15s ease;
}
.gc-iw__o-all-link:hover {
	color: #10B981;
}

/* Responsiveness */
@media (max-width: 1200px) {
	.gc-iw__o-system {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.gc-iw__o-conn {
		display: none;
	}
}

.gc-iw__checklist { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; }
.gc-iw__checklist li {
	display: flex; align-items: flex-start; gap: 9px;
	font-size: 12.5px; line-height: 1.45; font-weight: 650; color: var(--gc-iw-muted);
}
.gc-iw__checklist li svg { flex: none; margin-top: 2px; }
.gc-iw__checklist li[data-kind="considered"] { color: var(--gc-iw-ink); }
.gc-iw__checklist li[data-kind="considered"] svg { color: var(--gc-iw-green); }
.gc-iw__checklist li[data-kind="missing"] svg { color: var(--gc-iw-faint); }
.gc-iw__checklist-h {
	font-size: 9.5px; font-weight: 900; letter-spacing: 0.10em; text-transform: uppercase;
	color: var(--gc-iw-faint); margin: 12px 0 7px;
}
.gc-iw__checklist-h:first-child { margin-top: 0; }

/* Bloques bajo el mapa */
.gc-iw__o-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	margin-top: 24px;
}

/* ==========================================================================
   11 — WHAT-IF
   ========================================================================== */
.gc-iw__sim-form { display: flex; flex-direction: column; gap: 16px; }
.gc-iw__sim-row { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.gc-iw__sim-field { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.gc-iw__sim-lab { font-size: 10px; font-weight: 900; letter-spacing: 0.10em; text-transform: uppercase; color: var(--gc-iw-teal); }
.gc-iw__sim-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.gc-iw__chip {
	appearance: none; font: inherit; cursor: pointer;
	padding: 9px 15px;
	border: 1.5px solid var(--gc-iw-line-strong);
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.7);
	color: var(--gc-iw-ink);
	font-size: 12.5px; font-weight: 700;
	transition: border-color var(--gc-iw-t), background var(--gc-iw-t), color var(--gc-iw-t);
}
.gc-iw__chip:hover { border-color: rgba(63, 174, 106, 0.55); background: rgba(63, 174, 106, 0.09); }
.gc-iw__chip[aria-pressed="true"] { border-color: var(--gc-iw-green); background: var(--gc-iw-green); color: #FFF; }
.gc-iw__chip:focus-visible { outline: 3px solid rgba(63, 174, 106, 0.45); outline-offset: 2px; }

.gc-iw__sim-badge {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px; margin-bottom: 16px;
	border-radius: 9999px;
	background: rgba(3, 88, 119, 0.10);
	border: 1px dashed rgba(3, 88, 119, 0.42);
	font-size: 10px; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--gc-iw-blue);
}
.gc-iw__compare {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 16px;
	margin-top: 18px;
}
.gc-iw__compare-col {
	padding: 18px;
	border-radius: var(--gc-iw-radius-sm);
	border: 1.5px solid var(--gc-iw-line-strong);
	background: rgba(255, 255, 255, 0.7);
}
.gc-iw__compare-col--sim { border-style: dashed; border-color: rgba(3, 88, 119, 0.45); background: rgba(3, 88, 119, 0.05); }
.gc-iw__compare-h {
	font-size: 10px; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase;
	color: var(--gc-iw-teal); margin: 0 0 12px; padding-bottom: 9px;
	border-bottom: 1px solid var(--gc-iw-line);
}
.gc-iw__compare-need { font-size: 16px; font-weight: 800; line-height: 1.3; margin: 0 0 10px; letter-spacing: -0.018em; }
.gc-iw__compare-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.gc-iw__compare-list li { font-size: 12.5px; font-weight: 650; color: var(--gc-iw-muted); line-height: 1.4; }

/* ==========================================================================
   12 — HANDOFF
   ========================================================================== */
.gc-iw__handoff-summary { margin-top: 18px; display: flex; flex-direction: column; gap: 16px; }
.gc-iw__ho-block {
	padding: 16px 18px;
	border-radius: var(--gc-iw-radius-sm);
	border: 1px solid var(--gc-iw-line);
	background: rgba(255, 255, 255, 0.66);
}
.gc-iw__ho-h {
	font-size: 10px; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase;
	color: var(--gc-iw-teal); margin: 0 0 10px;
}
.gc-iw__ho-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.gc-iw__ho-list li { font-size: 13px; font-weight: 650; color: var(--gc-iw-ink); line-height: 1.45; }
.gc-iw__ho-list li span { color: var(--gc-iw-faint); font-weight: 800; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; display: block; }
.gc-iw__ho-confirm {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px 24px;
	border-radius: 18px;
	border: 1.5px solid #CBE2D5;
	background: #F4FBF7;
	box-shadow: 0 8px 24px rgba(7, 63, 77, 0.04);
}
.gc-iw__ho-confirm-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.gc-iw__ho-badge-group {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.gc-iw__ho-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.gc-iw__ho-pill--success {
	background: #EAF5EE;
	color: #06605C;
	border: 1px solid #CBE2D5;
}
.gc-iw__ho-pill--pending {
	background: #FFFBE6;
	color: #D48806;
	border: 1px solid #FFE58F;
}
.gc-iw__ho-ref-tag {
	font-family: monospace, monospace;
	font-size: 13.5px;
	font-weight: 800;
	color: #073F4D;
	background: #FFFFFF;
	border: 1px solid #D2E7DC;
	padding: 4px 10px;
	border-radius: 8px;
	letter-spacing: 0.05em;
}
.gc-iw__ho-confirm-title {
	font-family: 'Inter Tight', sans-serif;
	font-size: 17px;
	font-weight: 800;
	color: #073F4D;
	margin: 0;
}
.gc-iw__ho-confirm-desc {
	font-size: 13px;
	color: #557872;
	margin: 0;
	line-height: 1.45;
}
.gc-iw__ho-error {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 18px 20px;
	border-radius: 14px;
	background: #FFF1F0;
	border: 1px solid #FFCCC7;
	color: #CF1322;
	font-size: 13px;
	font-weight: 600;
}
.gc-iw__btn[aria-busy="true"] {
	opacity: 0.75;
	pointer-events: none;
	cursor: wait;
}

/* ==========================================================================
   12B — CONTACT MODAL (PROGRESIVO)
   ========================================================================== */
.gc-iw__modal {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(7, 63, 77, 0.45);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}
.gc-iw__modal[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
}
.gc-iw__modal-card {
	background: #FFFFFF;
	border: 1px solid #D2E7DC;
	border-radius: 24px;
	padding: 36px 40px;
	max-width: 580px;
	width: 100%;
	box-shadow: 0 24px 64px rgba(7, 63, 77, 0.20);
	position: relative;
	transform: translateY(20px) scale(0.98);
	transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.gc-iw__modal[aria-hidden="false"] .gc-iw__modal-card {
	transform: translateY(0) scale(1);
}
.gc-iw__modal-header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 24px;
	position: relative;
}
.gc-iw__modal-header-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: #EAF5EE;
	border: 1px solid #CBE2D5;
	display: grid;
	place-items: center;
	flex: none;
}
.gc-iw__modal-header-text {
	flex: 1 1 auto;
}
.gc-iw__modal-title {
	font-family: 'Inter Tight', sans-serif;
	font-size: 20px;
	font-weight: 800;
	color: #073F4D;
	margin: 0 0 6px;
	letter-spacing: -0.02em;
}
.gc-iw__modal-desc {
	font-size: 13.5px;
	color: #557872;
	line-height: 1.45;
	margin: 0;
}
.gc-iw__modal-close {
	appearance: none;
	border: 1px solid #D2E7DC;
	background: #F4F9F6;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
	display: grid;
	place-items: center;
	color: #073F4D;
	transition: all 0.2s ease;
	flex: none;
}
.gc-iw__modal-close:hover {
	background: #EAF5EE;
	color: #06605C;
}
.gc-iw__modal-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.gc-iw__form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 580px) {
	.gc-iw__form-grid { grid-template-columns: 1fr; }
	.gc-iw__modal-card { padding: 24px 20px; }
}
.gc-iw__form-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.gc-iw__form-label {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #073F4D;
}
.gc-iw__form-input {
	border: 1px solid #CBE2D5;
	border-radius: 10px;
	background: #F9FCFA;
	padding: 10px 14px;
	font-size: 13.5px;
	font-family: inherit;
	color: #073F4D;
	outline: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.gc-iw__form-input:focus {
	border-color: #3FAE6A;
	background: #FFFFFF;
	box-shadow: 0 0 0 3px rgba(63, 174, 106, 0.15);
}
.gc-iw__form-group--checkbox {
	margin-top: 4px;
}
.gc-iw__checkbox-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
}
.gc-iw__checkbox {
	margin-top: 3px;
	accent-color: #3FAE6A;
	width: 16px;
	height: 16px;
	flex: none;
}
.gc-iw__checkbox-text {
	font-size: 12.5px;
	line-height: 1.4;
	color: #557872;
	font-weight: 500;
}
.gc-iw__modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	margin-top: 12px;
	padding-top: 18px;
	border-top: 1px solid #EAF5EE;
}
.gc-iw__modal-notice {
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 12.5px;
	font-weight: 600;
	background: #FFF1F0;
	border: 1px solid #FFCCC7;
	color: #CF1322;
}

/* ==========================================================================
   13 — TRACE DRAWER
   ========================================================================== */
.gc-iw__trace {
	position: fixed;
	top: 0; right: 0; bottom: 0;
	width: min(380px, 92vw);
	z-index: 120;
	transform: translateX(100%);
	transition: transform 200ms cubic-bezier(0.22, 0.61, 0.36, 1);
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
	border-left: 1px solid var(--gc-iw-line-strong);
	box-shadow: -18px 0 48px rgba(3, 88, 119, 0.14);
	padding: 26px 24px;
	overflow-y: auto;
}
.gc-iw__trace.is-open { transform: none; }
.gc-iw__trace-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
.gc-iw__trace-t { font-size: 11px; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gc-iw-teal); margin: 0; }
.gc-iw__close {
	appearance: none; border: 1px solid var(--gc-iw-line-strong); background: transparent;
	width: 32px; height: 32px; border-radius: 50%; cursor: pointer;
	display: grid; place-items: center; color: var(--gc-iw-ink);
	transition: background var(--gc-iw-t), border-color var(--gc-iw-t);
}
.gc-iw__close:hover { background: rgba(63, 174, 106, 0.12); border-color: var(--gc-iw-green); }
.gc-iw__events { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.gc-iw__event { position: relative; padding: 0 0 20px 24px; border-left: 2px solid var(--gc-iw-line); }
.gc-iw__event:last-child { border-left-color: transparent; padding-bottom: 0; }
.gc-iw__event::before {
	content: ''; position: absolute; left: -6px; top: 3px;
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--gc-iw-green); border: 2px solid #FFF;
}
.gc-iw__event-n { font-size: 13px; font-weight: 800; color: var(--gc-iw-ink); line-height: 1.3; }
.gc-iw__event-t { font-size: 11px; font-weight: 600; color: var(--gc-iw-faint); margin-top: 3px; }

.gc-iw__scrim {
	position: fixed; inset: 0; z-index: 110;
	background: rgba(7, 63, 77, 0.32);
	opacity: 0; pointer-events: none;
	transition: opacity 200ms ease;
}
.gc-iw__scrim.is-open { opacity: 1; pointer-events: auto; }

/* ==========================================================================
   ESTADOS / FEEDBACK
   ========================================================================== */
.gc-iw__thinking {
	display: inline-flex; align-items: center; gap: 9px;
	font-size: 11px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase;
	color: var(--gc-iw-teal);
}
.gc-iw__thinking i {
	width: 6px; height: 6px; border-radius: 50%; background: var(--gc-iw-green);
	animation: gc-iw-bounce 1s ease-in-out infinite;
}
.gc-iw__thinking i:nth-child(2) { animation-delay: 0.14s; }
.gc-iw__thinking i:nth-child(3) { animation-delay: 0.28s; }
@keyframes gc-iw-bounce { 0%, 100% { opacity: 0.28; } 50% { opacity: 1; } }

.gc-iw__notice {
	margin-top: 16px;
	padding: 14px 17px;
	border-radius: var(--gc-iw-radius-sm);
	border: 1px solid rgba(200, 80, 60, 0.35);
	background: rgba(200, 80, 60, 0.07);
	font-size: 13.5px; font-weight: 650; color: #8A3A2C; line-height: 1.5;
}
.gc-iw__sr {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* ==========================================================================
   MOBILE — sin 3 columnas: PREGUNTA -> INTERACCIÓN -> INTELLIGENCE
   ========================================================================== */
.gc-iw__mobilebar { display: none; }
.gc-iw__drawer { display: none; }

@media (max-width: 1180px) {
	.gc-iw__grid { grid-template-columns: minmax(0, 1fr) 320px; }
	.gc-iw__col--left { position: static; grid-column: 1 / -1; order: 3; }
	.gc-iw__col--center { order: 1; }
	.gc-iw__col--right { order: 2; }
	.gc-iw__entries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.gc-iw { padding-top: 96px; }
	.gc-iw__shell {
		width: min(calc(100% - (2 * var(--gc-page-gutter-sm, 16px))), var(--gc-page-max, 1380px));
		padding: 0 0 130px;
	}
	.gc-iw__topbar { top: 68px; padding: 11px 16px; gap: 12px; }
	.gc-iw__trace-toggle { display: none; }

	.gc-iw__h1 { font-size: 38px; line-height: 42px; max-width: none; }
	.gc-iw__lead { font-size: 17px; margin-bottom: 32px; }

	.gc-iw__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.gc-iw__col--center { order: 1; }
	.gc-iw__col--left { order: 2; position: static; }
	/* PERFIL CIRCULAR pasa al drawer inferior */
	.gc-iw__col--right { display: none; }

	.gc-iw__panel { padding: 18px; }
	.gc-iw__panel--center { padding: 22px 20px 20px; }
	.gc-iw__q-label { font-size: 23px; max-width: none; }
	.gc-iw__q-help { font-size: 14px; }

	.gc-iw__entries { grid-template-columns: minmax(0, 1fr); }
	.gc-iw__entry { min-height: 0; flex-direction: row; align-items: center; gap: 16px; padding: 18px; }
	.gc-iw__entry-t { margin-top: 0; font-size: 17px; }
	.gc-iw__entry-d { display: none; }

	.gc-iw__cards--trio { grid-template-columns: minmax(0, 1fr); }
	.gc-iw__materials { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 9px; }
	.gc-iw__mat { padding: 13px 8px; font-size: 12px; }
	.gc-iw__mat-ico { width: 36px; height: 36px; }

	.gc-iw__range-steps { flex-direction: column; align-items: stretch; gap: 8px; }
	.gc-iw__range-rail { display: none; }
	.gc-iw__range-step { flex-direction: row; align-items: center; gap: 12px; text-align: left; padding: 10px 12px; border: 1.5px solid var(--gc-iw-line-strong); border-radius: 12px; background: rgba(255,255,255,0.66); }
	.gc-iw__range-step[aria-pressed="true"] { border-color: var(--gc-iw-green); background: rgba(63, 174, 106, 0.11); }
	.gc-iw__range-txt { text-align: left; font-size: 13px; }

	.gc-iw__seg { min-width: 0; flex: 1 1 44%; font-size: 12.5px; padding: 10px 8px; }

	.gc-iw__o-title { font-size: 25px; }
	.gc-iw__map { padding: 18px 14px; }

	.gc-iw__btn { padding: 12px 20px; font-size: 13.5px; }
	.gc-iw__qactions .gc-iw__btn { flex: 1 1 auto; justify-content: center; }

	/* Bottom fixed action + drawer del Perfil Circular */
	.gc-iw__mobilebar {
		display: flex; align-items: center; gap: 12px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 100;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
		background: rgba(255, 255, 255, 0.94);
		backdrop-filter: blur(20px);
		-webkit-backdrop-filter: blur(20px);
		border-top: 1px solid var(--gc-iw-line-strong);
		box-shadow: 0 -8px 26px rgba(3, 88, 119, 0.10);
	}
	.gc-iw__mobilebar .gc-iw__btn { flex: 1 1 auto; justify-content: center; }
	.gc-iw__mobilebar-meta { font-size: 10.5px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gc-iw-teal); white-space: nowrap; }

	.gc-iw__drawer {
		display: block;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 130;
		max-height: 82vh; overflow-y: auto;
		transform: translateY(100%);
		transition: transform 200ms cubic-bezier(0.22, 0.61, 0.36, 1);
		background: rgba(255, 255, 255, 0.96);
		backdrop-filter: blur(22px);
		-webkit-backdrop-filter: blur(22px);
		border-radius: 22px 22px 0 0;
		border-top: 1px solid var(--gc-iw-line-strong);
		box-shadow: 0 -18px 48px rgba(3, 88, 119, 0.16);
		padding: 22px 18px calc(26px + env(safe-area-inset-bottom, 0px));
	}
	.gc-iw__drawer.is-open { transform: none; }
	.gc-iw__drawer-grip { width: 42px; height: 4px; border-radius: 9999px; background: var(--gc-iw-line-strong); margin: 0 auto 16px; }
	.gc-iw__trace { width: 100%; }
}

@media (max-width: 480px) {
	.gc-iw__h1 { font-size: 32px; line-height: 36px; }
	.gc-iw__states { grid-template-columns: minmax(0, 1fr); }
	.gc-iw__fact-k { width: 88px; }
}

/* ==========================================================================
   14 — GECS 1.1: UTILIDADES DE SUPERFICIE + SWITCHER REAL
   ========================================================================== */
.gc-iw__glass-surface {
	background: var(--gc-iw-glass-bg);
	backdrop-filter: blur(var(--gc-iw-glass-blur));
	-webkit-backdrop-filter: blur(var(--gc-iw-glass-blur));
	border: 1px solid var(--gc-iw-glass-border-color);
	box-shadow: var(--gc-iw-glass-shadow), var(--gc-iw-glass-highlight);
}
.gc-iw__glass-badge {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px;
	border-radius: 9999px;
	background: var(--gc-iw-glass-bg);
	backdrop-filter: blur(var(--gc-iw-glass-blur));
	-webkit-backdrop-filter: blur(var(--gc-iw-glass-blur));
	border: 1px solid var(--gc-iw-glass-border-color);
	font-size: 10px; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--gc-iw-teal);
}

/* Switcher glass=no. En la rama antigua este control no revertía nada porque
   las superficies aplicaban backdrop-filter en duro. Aquí sí revierte: se
   neutraliza el desenfoque y se opacan las superficies afectadas. */
.gc-iw[data-gc-glass="off"] {
	--gc-iw-glass: #FFFFFF;
	--gc-iw-glass-strong: #FFFFFF;
	--gc-iw-glass-bg: #FFFFFF;
	--gc-iw-glass-blur: 0px;
	--gc-iw-glass-border-color: rgba(7, 63, 77, 0.18);
	--gc-iw-glass-highlight: none;
}
.gc-iw[data-gc-glass="off"] .gc-iw__topbar,
.gc-iw[data-gc-glass="off"] .gc-iw__panel,
.gc-iw[data-gc-glass="off"] .gc-iw__panel--center,
.gc-iw[data-gc-glass="off"] .gc-iw__map,
.gc-iw[data-gc-glass="off"] .gc-iw__trace,
.gc-iw[data-gc-glass="off"] .gc-iw__drawer,
.gc-iw[data-gc-glass="off"] .gc-iw__mobilebar,
.gc-iw[data-gc-glass="off"] .gc-iw__glass-surface,
.gc-iw[data-gc-glass="off"] .gc-iw__glass-badge {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	background-color: #FFFFFF;
	border-color: var(--gc-iw-line-strong);
}
.gc-iw[data-gc-glass="off"] .gc-iw__field { display: none; }

/* ==========================================================================
   15 — DATA PARTICLE (REUSE/REWIRE)
   Trasplante de la microinteracción `spawnDataParticle` de
   feature/diagnostic-circular. Renombrada desde `.gc-data-particle`, que ya
   existe en el asset CONGELADO geociklo-diagnostic.css del widget de Home:
   reutilizar ese nombre habría creado una colisión global.
   La partícula sólo se instancia desde JS tras una respuesta confirmada del
   endpoint POST /geociklo/v1/diagnostic/intelligence.
   ========================================================================== */
.gc-iw__particle {
	position: fixed;
	width: 10px;
	height: 10px;
	margin: -5px 0 0 -5px;
	border-radius: 50%;
	background: var(--gc-iw-green, #3FAE6A);
	box-shadow: 0 0 12px rgba(63, 174, 106, 0.85);
	pointer-events: none;
	z-index: 9999;
	transition: transform 520ms cubic-bezier(0.25, 1, 0.5, 1), opacity 520ms ease;
}

/* ==========================================================================
   16 — ESTADO 04 + GUARDAS DE VISIBILIDAD
   ========================================================================== */
.gc-iw[data-gc-state="human_review_requested"] .gc-iw__q-crit,
.gc-iw[data-gc-state="human_review_requested"] .gc-iw__sufficient { display: none; }

/* [hidden] debe ganar siempre: varios elementos declaran display flex/inline-flex. */
.gc-iw [hidden],
.gc-iw__mobilebar[hidden] { display: none !important; }

/* ==========================================================================
   REDUCED MOTION
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.gc-iw *,
	.gc-iw *::before,
	.gc-iw *::after,
	.gc-iw__particle,
	.gc-iw__trace,
	.gc-iw__drawer,
	.gc-iw__scrim {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
	.gc-iw__field { display: none; }
	.gc-iw__particle { display: none; }
	.gc-iw__entry:hover,
	.gc-iw__mat:hover,
	.gc-iw__card:hover,
	.gc-iw__state:hover,
	.gc-iw__btn--primary:hover:not(:disabled) { transform: none; }
}
