/* P280 — GigMap Premium Product System
   Global visual layer intentionally sits after the legacy CSS so it can
   progressively unify the product without deleting established modules. */
:root{
  --gm-content-max:1280px;
  --gm-page-pad:clamp(18px,3vw,34px);
  --gm-radius-sm:12px; --gm-radius-md:16px; --gm-radius-lg:22px; --gm-radius-xl:30px;
  --gm-shadow-sm:0 6px 20px rgba(31,19,68,.06);
  --gm-shadow-md:0 14px 38px rgba(31,19,68,.10);
  --gm-shadow-lg:0 24px 70px rgba(31,19,68,.14);
  --gm-border:color-mix(in srgb,var(--line) 82%,transparent);
  --gm-focus:0 0 0 4px color-mix(in srgb,var(--primary) 18%,transparent);
  --gm-gradient:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,var(--surface)),var(--surface));
}
html[data-tema="oscuro"]{
  --gm-shadow-sm:0 8px 24px rgba(0,0,0,.18);
  --gm-shadow-md:0 18px 45px rgba(0,0,0,.28);
  --gm-shadow-lg:0 30px 80px rgba(0,0,0,.38);
  --gm-gradient:linear-gradient(135deg,color-mix(in srgb,var(--primary) 13%,var(--surface)),var(--surface));
}
body{background:var(--bg);color:var(--text);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:color-mix(in srgb,var(--primary) 24%,transparent);color:var(--text)}
:focus-visible{outline:none;box-shadow:var(--gm-focus)}
.container.con-sidebar-main{max-width:var(--gm-content-max);width:min(calc(100% - 32px),var(--gm-content-max));}
.workspace-page,.page-chat-conversation,.gm-growth-shell{max-width:var(--gm-content-max);margin-left:auto;margin-right:auto}
.workspace-page{padding-left:var(--gm-page-pad);padding-right:var(--gm-page-pad);padding-bottom:80px}
.page-hero,.gm-page-intro{border-radius:var(--gm-radius-xl);border:1px solid var(--gm-border);background:var(--gm-gradient);box-shadow:var(--gm-shadow-sm);}
.gm-page-intro{padding:clamp(24px,4vw,42px);margin:26px 0 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;position:relative;overflow:hidden}
.gm-page-intro:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-110px;top:-130px;background:color-mix(in srgb,var(--primary) 12%,transparent);pointer-events:none}
.gm-page-intro-copy{position:relative;z-index:1;max-width:780px}.gm-page-intro h1{margin:7px 0 10px;font:800 clamp(2rem,4vw,3.7rem)/.98 var(--font-display);letter-spacing:-.055em}.gm-page-intro p{margin:0;color:var(--text-dim);font-size:1rem;line-height:1.65;max-width:700px}.gm-page-intro-actions{display:flex;gap:9px;flex-wrap:wrap;position:relative;z-index:1}
.eyebrow,.section-kicker,.gm-workspace-kicker{letter-spacing:.15em;text-transform:uppercase;font-weight:800;font-size:.68rem;color:var(--primary)}
.btn-cta,.btn-secondary,.btn-link,.sidebar-item,.topbar nav a{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.btn-cta:hover,.btn-secondary:hover{transform:translateY(-1px)}
.btn-cta:active,.btn-secondary:active{transform:translateY(0) scale(.985)}
.card,.gm-workspace-panel,.gm-workspace-card,.mi-espacio-settings-card,.role-card,.gm-growth-opportunity,.gm-growth-event,.gm-growth-list-card{border-color:var(--gm-border)}
.card,.gm-workspace-panel{box-shadow:var(--gm-shadow-sm)}
.gm-workspace-card,.mi-espacio-settings-card,.role-card,.gm-growth-opportunity,.gm-growth-event{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.gm-workspace-card:hover,.mi-espacio-settings-card:hover,.role-card:hover,.gm-growth-opportunity:hover,.gm-growth-event:hover{transform:translateY(-3px);box-shadow:var(--gm-shadow-md);border-color:color-mix(in srgb,var(--primary) 28%,var(--gm-border))}
.gm-workspace-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.gm-workspace-card{min-height:150px!important;border-radius:20px!important;background:var(--surface)!important}
.gm-workspace-card-main{background:var(--gm-gradient)!important}
.gm-workspace-columns{gap:14px!important}.gm-workspace-panel{border-radius:20px!important;background:var(--surface)!important}
.gm-home-signal{border-radius:16px!important;padding:13px 17px!important;background:color-mix(in srgb,var(--primary) 5%,var(--surface))!important;border:1px solid color-mix(in srgb,var(--primary) 14%,var(--line))!important}
.mi-espacio-settings-grid{gap:12px!important}.mi-espacio-settings-card{border-radius:18px!important;background:var(--surface)!important;min-height:84px}
/* Navigation: quieter chrome, stronger active state */
.topbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:color-mix(in srgb,var(--surface) 88%,transparent)!important;border-bottom-color:color-mix(in srgb,var(--line) 70%,transparent)!important}
.topbar nav a[aria-current="page"],.topbar nav a:hover{color:var(--primary)}
.sidebar-fb{box-shadow:16px 0 45px rgba(24,15,54,.08)}
.sidebar-item{border-radius:12px!important;margin:2px 7px!important}.sidebar-item:hover{transform:translateX(2px)}.sidebar-item.active{box-shadow:inset 3px 0 0 var(--primary),0 5px 18px rgba(90,46,199,.08)!important}
.sidebar-section-heading{opacity:.72;letter-spacing:.12em;text-transform:uppercase;font-size:.64rem!important}
/* Search command surface */
.topbar-buscador-panel{border:1px solid var(--gm-border)!important;border-radius:20px!important;box-shadow:var(--gm-shadow-lg)!important;background:color-mix(in srgb,var(--surface) 96%,transparent)!important;backdrop-filter:blur(22px)}
.topbar-buscador-campo{border-radius:14px!important}.topbar-buscador-campo:focus-within{box-shadow:var(--gm-focus)!important;border-color:var(--primary)!important}
/* Landing */
.landing-hero{max-width:var(--gm-content-max);margin:0 auto;padding-left:var(--gm-page-pad);padding-right:var(--gm-page-pad)}
.landing-hero h1{font-size:clamp(3rem,8vw,7rem)!important;letter-spacing:-.07em!important;max-width:1000px}.landing-hero p{max-width:760px!important;font-size:clamp(1rem,1.7vw,1.2rem)!important}
.hero-actions{gap:10px!important}.hero-signal-row{border-top:1px solid var(--line);padding-top:18px!important}
.landing-proof{max-width:var(--gm-content-max)!important;padding-left:var(--gm-page-pad);padding-right:var(--gm-page-pad)}
.landing-roles,.landing-manifesto{max-width:var(--gm-content-max);margin-left:auto;margin-right:auto;padding-left:var(--gm-page-pad);padding-right:var(--gm-page-pad)}
.landing-roles{padding-bottom:55px}.roles-grid{gap:12px!important}.role-card{border-radius:22px!important;min-height:250px!important}
.gm-radar-cta{max-width:var(--gm-content-max);margin:0 auto 70px;padding:0 var(--gm-page-pad)}.gm-radar-cta-inner{display:grid;grid-template-columns:minmax(0,1.1fr) .9fr;gap:20px;align-items:stretch;border:1px solid var(--gm-border);border-radius:28px;background:var(--surface);box-shadow:var(--gm-shadow-md);overflow:hidden}.gm-radar-copy{padding:clamp(26px,5vw,48px)}.gm-radar-copy h2{font:800 clamp(2rem,4.5vw,4rem)/.98 var(--font-display);letter-spacing:-.055em;margin:7px 0 14px}.gm-radar-copy p{color:var(--text-dim);line-height:1.65;max-width:680px}.gm-radar-tags{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0}.gm-radar-tags span{border:1px solid var(--line);background:var(--surface-2);border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:800}.gm-radar-visual{min-height:300px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--primary) 20%,transparent),transparent 62%);position:relative}.gm-radar-orbit{width:min(280px,70%);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--line));border-radius:50%;display:grid;place-items:center;position:relative}.gm-radar-orbit:before,.gm-radar-orbit:after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:50%;inset:16%}.gm-radar-orbit:after{inset:33%}.gm-radar-core{width:74px;height:74px;border-radius:22px;background:var(--primary);color:#fff;display:grid;place-items:center;font:800 2rem var(--font-display);box-shadow:0 16px 40px color-mix(in srgb,var(--primary) 35%,transparent)}.gm-radar-orbit span{position:absolute;padding:7px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.62rem;font-weight:800;letter-spacing:.08em;box-shadow:var(--gm-shadow-sm)}.gm-radar-orbit span:nth-child(2){top:5%;left:8%}.gm-radar-orbit span:nth-child(3){right:-8%;top:44%}.gm-radar-orbit span:nth-child(4){bottom:8%;left:16%}
/* Discover / cards */
.page-hero{padding:clamp(24px,4vw,40px)!important;margin:24px 0!important}.page-hero h1{letter-spacing:-.05em}.grid-cards{gap:14px!important}.grid-cards>.card{border-radius:20px!important;box-shadow:var(--gm-shadow-sm)!important}
.gm-discovery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 18px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
/* Opportunity forms become visually staged instead of a wall of fields */
.form-grid{gap:14px!important}.form-grid>label,.form-grid>.field,.form-grid>.form-field{border-radius:14px}.form-grid input,.form-grid select,.form-grid textarea{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary)!important;box-shadow:var(--gm-focus)!important}
/* Chat */
.page-chat-conversation{border-radius:22px}.chat-header{border-radius:20px 20px 0 0!important}.chat-mensajes{scrollbar-width:thin}.mensaje{animation:gm-message-in .22s ease both}.chat-input-row{border-radius:18px!important;box-shadow:var(--gm-shadow-sm)}.chat-send-button{transition:transform .16s ease,opacity .16s ease}.chat-send-button:not(:disabled):hover{transform:translateY(-1px)}
@keyframes gm-message-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
/* Notifications */
.notificacion,.notification-item,.lista-fila{border-color:var(--gm-border)!important;border-radius:16px!important}.notificacion:hover,.notification-item:hover{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
/* Empty states */
.empty-state,.gm-workspace-empty{border:1px dashed color-mix(in srgb,var(--primary) 25%,var(--line));border-radius:18px;padding:28px;background:color-mix(in srgb,var(--primary) 3%,var(--surface));color:var(--text-dim);line-height:1.6}.empty-state a,.gm-workspace-empty a{font-weight:800;color:var(--primary)}
/* Toasts / success feedback */
.toast,.flash,.alert{border-radius:14px!important;box-shadow:var(--gm-shadow-md)!important}
.gm-reveal{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}.gm-reveal.gm-visible{opacity:1;transform:none}
@media (max-width:1000px){.gm-workspace-grid{grid-template-columns:1fr 1fr!important}.gm-radar-cta-inner{grid-template-columns:1fr}.gm-radar-visual{min-height:250px}.gm-page-intro{align-items:flex-start;flex-direction:column}.gm-page-intro-actions{width:100%}}
@media (max-width:700px){.container.con-sidebar-main{width:calc(100% - 20px)}.workspace-page{padding-left:10px;padding-right:10px}.gm-workspace-grid{grid-template-columns:1fr!important}.gm-workspace-card{min-height:126px!important}.gm-workspace-columns{grid-template-columns:1fr!important}.landing-hero h1{font-size:clamp(2.7rem,14vw,5rem)!important}.landing-proof{grid-template-columns:1fr 1fr!important}.role-card{min-height:210px!important}.gm-radar-cta{padding:0 10px;margin-bottom:45px}.gm-radar-copy{padding:25px 20px}.gm-radar-visual{min-height:220px}.gm-radar-orbit{width:230px}.gm-page-intro-actions>*{flex:1}.gm-page-intro-actions .btn-cta,.gm-page-intro-actions .btn-secondary{justify-content:center;text-align:center}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.gm-reveal{opacity:1;transform:none}}

.btn-cta.gm-loading,.btn-secondary.gm-loading{opacity:.72;cursor:wait;position:relative}.btn-cta.gm-loading:after,.btn-secondary.gm-loading:after{content:"";display:inline-block;width:11px;height:11px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-1px;animation:gm-spin .65s linear infinite}@keyframes gm-spin{to{transform:rotate(360deg)}}
.gm-topbar-active{color:var(--primary)!important}
/* Public professional identity */
.page-profile .muro-datos{border-radius:0 0 28px 28px!important;border-color:var(--gm-border)!important;box-shadow:var(--gm-shadow-md)!important}
.page-profile .muro-portada{border-radius:24px 24px 0 0!important;min-height:280px!important;background-color:var(--surface-2)}
.page-profile .muro-identity-bar{padding:18px 22px!important;border:1px solid var(--gm-border);border-bottom:0;border-radius:28px 28px 0 0;background:var(--surface)}
.page-profile .muro-datos>h2{font-size:clamp(2rem,4vw,3.6rem)!important;letter-spacing:-.055em!important}.page-profile .muro-handle{color:var(--primary)!important;font-weight:700}
.page-profile .perfil-confianza-resumen,.page-profile .perfil-entidades{border-radius:18px!important;border-color:var(--gm-border)!important;background:var(--surface)!important;box-shadow:var(--gm-shadow-sm)}
.page-profile .perfil-confianza-card{border-radius:14px!important;transition:transform .18s ease,background-color .18s ease}.page-profile .perfil-confianza-card:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--primary) 5%,var(--surface))}
.page-profile .muro-acciones{gap:9px!important}.page-profile .muro-acciones .btn-cta,.page-profile .muro-acciones .btn-secondary{min-height:42px}
.page-profile .perfil-taxonomia-publica{border-color:var(--gm-border)!important;border-radius:16px!important;background:color-mix(in srgb,var(--primary) 3%,var(--surface))!important}
