:root{
  --ik-ink:#0f1716;
  --ik-ink-2:#182321;
  --ik-accent:#a8ff2f;
  --ik-accent-2:#82e600;
  --ik-accent-soft:#efffd8;
  --ik-surface:#ffffff;
  --ik-bg:#f5f7f6;
  --ik-line:#e4e9e7;
  --ik-muted:#66736f;
  --ik-shadow:0 16px 42px rgba(15,23,22,.08);
}
html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;background:var(--ik-bg);color:#18211f}
.top{min-height:70px;padding:12px 24px!important;background:rgba(15,23,22,.96)!important;border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 8px 30px rgba(0,0,0,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.top b,.top .brand b{color:#fff}.top .muted,.top [style*="color:#667085"]{color:#b8c4c0!important}.top #userbar,.top .user{color:#fff}
.top .btn{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.16)}
.top .btn:hover{border-color:var(--ik-accent);color:var(--ik-accent)}
.ikTopBrand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.ikTopBrand img{height:44px;width:auto;display:block}.ikTopBrand .ikMini{font-size:11px;color:#aebbb7;margin-top:2px;letter-spacing:.02em}
.card,.tile,.gate,.notice,.quick,.project,.mode,.upload{border-color:var(--ik-line)!important}.card,.tile,.gate{box-shadow:0 8px 24px rgba(15,23,22,.045)!important}.card{border-radius:20px!important}.tile{border-radius:18px!important}.tile:hover{transform:translateY(-2px)!important;border-color:#c8d2ce!important;box-shadow:var(--ik-shadow)!important}
.btn{border-radius:11px!important;transition:.18s ease}.btn.primary,button.primary{background:#17211f!important;border-color:#17211f!important;color:#fff!important}.btn.primary:hover,button.primary:hover{background:#0e1514!important;border-color:#0e1514!important;box-shadow:0 0 0 3px rgba(168,255,47,.18)}
input,select,textarea{border-radius:11px!important;background:#fff}.nav.active,.navItem.active{background:var(--ik-accent-soft)!important;color:#244200!important}.icon{background:var(--ik-accent-soft)!important;color:#2f5700!important}.adminBadge{background:#17211f!important;color:var(--ik-accent)!important;border-color:#2b3734!important}.tag.sensitive{background:#f2f6f4!important;color:#3f4c48!important}.quick{background:linear-gradient(135deg,#f7faf8,#eef5f1)!important;border-color:#dce6e1!important}.quickAction:hover{border-color:#89c838!important;color:#284800!important}
/* Portada / login */
body.ik-home{background:radial-gradient(circle at 80% -10%,rgba(168,255,47,.16),transparent 34%),linear-gradient(180deg,#101817 0,#101817 420px,#f5f7f6 420px,#f5f7f6 100%)}
body.ik-home .top{background:transparent!important;box-shadow:none;border-bottom-color:rgba(255,255,255,.09)!important}
.ikLanding{max-width:1160px;margin:0 auto;padding:48px 20px 26px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:42px;align-items:center;color:#fff}
.ikLandingLogo{width:min(540px,100%);height:auto;display:block;margin-bottom:24px}.ikEyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(168,255,47,.28);background:rgba(168,255,47,.08);color:#c8ff83;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.ikLanding h1{font-size:clamp(36px,5vw,62px);line-height:1.02;letter-spacing:-.045em;margin:18px 0 18px;color:#fff}.ikLanding p{font-size:18px;line-height:1.65;color:#c9d2cf;max-width:680px}.ikFeatureRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.ikFeature{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);font-size:12px;color:#e8efec}.ikLandingArt{display:grid;place-items:center}.ikLandingArt img{width:min(390px,85vw);height:auto;filter:drop-shadow(0 30px 55px rgba(0,0,0,.38))}
body.ik-home #auth{max-width:1040px;margin:20px auto 0;padding:0 20px 60px}body.ik-home #auth>.grid{gap:20px}body.ik-home #auth .card{padding:26px;background:rgba(255,255,255,.98);box-shadow:0 22px 50px rgba(15,23,22,.12)!important}body.ik-home #auth .card h2{font-size:24px;margin-top:0;color:#17211f!important}.ikAuthKicker{font-size:12px;font-weight:800;color:#70807b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
body.ik-home #projectsView{max-width:1160px;margin:30px auto 0;padding:0 20px 70px}body.ik-home #projectsView h1{color:#fff;margin-bottom:34px;font-size:34px;letter-spacing:-.03em}body.ik-home #projectsView .project{box-shadow:0 16px 38px rgba(15,23,22,.08)!important;border-radius:22px!important}
/* Intranet */
body.ik-admin .hero{background:linear-gradient(135deg,#17211f,#22302d)!important;border:0!important;color:#fff;box-shadow:0 18px 44px rgba(15,23,22,.16)!important}body.ik-admin .hero h1{color:#fff!important;letter-spacing:-.035em}body.ik-admin .hero p{color:#c6d0cd!important}.ikAdminLogo{height:40px;width:auto;display:block}
@media(max-width:900px){.ikLanding{grid-template-columns:1fr;padding-top:34px}.ikLandingArt{order:-1}.ikLandingArt img{width:210px}.ikLanding h1{font-size:40px}}
@media(max-width:620px){.top{padding:10px 14px!important}.ikTopBrand img{height:36px}.ikLanding{padding:26px 16px 20px}.ikLandingArt{display:none}.ikLanding h1{font-size:34px}body.ik-home #auth{padding:0 14px 50px}}


/* =========================================================
   A7.1 · Refinamiento visual, superficies y contraste seguro
   ========================================================= */

/* Portada: fondo oscuro continuo y hero contenido */
body.ik-home{
  min-height:100vh;
  background:
    radial-gradient(circle at 82% 4%,rgba(168,255,47,.14),transparent 31%),
    linear-gradient(135deg,#0d1514 0%,#101a18 52%,#162116 100%) !important;
  background-attachment:fixed;
}
body.ik-home .ikLanding{
  min-height:520px;
  padding-top:44px;
  padding-bottom:48px;
  align-items:center;
}
body.ik-home .ikLanding>div:first-child{min-width:0;max-width:710px}
body.ik-home .ikLanding h1{max-width:700px;text-wrap:balance}
body.ik-home .ikLanding p{max-width:700px;margin-bottom:0;text-wrap:pretty}
body.ik-home #auth{margin-top:0;padding-bottom:72px}
body.ik-home #projectsView{min-height:calc(100vh - 100px);margin-top:0;padding-top:62px;padding-bottom:100px}
body.ik-home #projectsView h1{color:#fff!important}
body.ik-home #projectsView .project{
  background:#fff!important;
  color:#18211f!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22)!important;
  margin-bottom:18px;
}
body.ik-home #projectsView .project h2{color:#18211f!important}
body.ik-home #projectsView .project .muted{color:#66736f!important}
body.ik-home.ik-projects-mode .wrap{max-width:none;padding-left:0;padding-right:0}
body.ik-home.ik-projects-mode #projectsView{max-width:1120px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}

/* Cuando se entra en una candidatura volvemos a superficies neutras y legibles. */
body.ik-home.ik-project-brand{
  background:#f4f6f5!important;
  color:#18211f!important;
}
body.ik-home.ik-project-brand .wrap{max-width:1160px}
body.ik-home.ik-project-brand #welcomeView,
body.ik-home.ik-project-brand #appView .card,
body.ik-home.ik-project-brand #appView .side{
  background:#fff!important;
  color:#18211f!important;
}
body.ik-home.ik-project-brand #welcomeView{
  border-top:5px solid var(--project-accent,#1f4f9a)!important;
  box-shadow:0 18px 42px rgba(15,23,22,.09)!important;
}
body.ik-home.ik-project-brand .projectInstitution{
  color:#3d4844!important;
  border-left:4px solid var(--project-accent,#1f4f9a);
  padding-left:10px;
}
body.ik-home.ik-project-brand .btn.primary,
body.ik-home.ik-project-brand button.primary{
  background:var(--project-accent,#1f4f9a)!important;
  border-color:var(--project-accent,#1f4f9a)!important;
  color:var(--project-accent-text,#fff)!important;
}
body.ik-home.ik-project-brand .btn.primary:hover,
body.ik-home.ik-project-brand button.primary:hover{
  filter:brightness(.94);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--project-accent,#1f4f9a) 18%,transparent)!important;
}
body.ik-home.ik-project-brand .nav.active{
  background:color-mix(in srgb,var(--project-secondary,#edf3fb) 32%,#fff)!important;
  color:#24302c!important;
  box-shadow:inset 3px 0 0 var(--project-accent,#1f4f9a);
}
body.ik-home.ik-project-brand .card h2,
body.ik-home.ik-project-brand .card h3{color:#18211f!important}
body.ik-home.ik-project-brand .notice:not(.red):not(.warn):not(.green),
body.ik-home.ik-project-brand .help{
  background:color-mix(in srgb,var(--project-secondary,#edf3fb) 26%,#fff)!important;
  color:#2f3a36!important;
  border-color:color-mix(in srgb,var(--project-accent,#1f4f9a) 18%,#dde4e1)!important;
}
body.ik-home.ik-project-brand .notice.green{
  background:#eef9f1!important;
  color:#225d36!important;
  border-color:#c7e5d1!important;
}
body.ik-home.ik-project-brand .notice.warn{
  background:#fff9eb!important;
  color:#674d13!important;
  border-color:#ead9ac!important;
}

/* Intranet: hero más suave, centrado y menos rígido. */
body.ik-admin .hero{
  display:block!important;
  max-width:1040px;
  margin:0 auto 26px!important;
  padding:34px 30px!important;
  text-align:center;
  border-radius:24px!important;
  background:linear-gradient(135deg,#16211f 0%,#1d2d29 72%,#24352c 100%)!important;
  box-shadow:0 18px 45px rgba(15,23,22,.12)!important;
}
body.ik-admin .hero h1{margin:0 0 8px!important}
body.ik-admin .hero p{max-width:760px;margin:0 auto!important}

/* Cabeceras administrativas con marca consistente. */
body.ik-admin .top .ikTopBrand img{height:38px}
body.ik-admin .top .ikTopBrand b{font-size:15px}
body.ik-admin .top .ikTopBrand .ikMini{color:#b8c4c0!important}

/* Vista previa de candidato: marca como acento, nunca como superficie crítica. */
body.ik-project-preview{background:#f4f6f5!important;color:#18211f!important}
body.ik-project-preview .topbar{background:#fff!important;border-bottom-color:#e0e6e3!important}
body.ik-project-preview .hero{background:#fff!important;color:#18211f!important;border-color:#e0e6e3!important;border-radius:20px!important;box-shadow:0 14px 38px rgba(15,23,22,.08)!important}
body.ik-project-preview .heroBar{background:var(--primary)!important}
body.ik-project-preview .institution{color:#3d4844!important;border-left:4px solid var(--primary);padding-left:9px}
body.ik-project-preview .notice{background:#fff9eb!important;color:#674d13!important;border-color:#ead9ac!important}
body.ik-project-preview .help{background:color-mix(in srgb,var(--soft) 30%,#fff)!important;color:#2f3a36!important;border:1px solid color-mix(in srgb,var(--primary) 18%,#dde4e1)!important}
body.ik-project-preview .nav.active{background:color-mix(in srgb,var(--soft) 32%,#fff)!important;color:#24302c!important;box-shadow:inset 3px 0 0 var(--primary)}
body.ik-project-preview .btn{background:var(--primary)!important;color:var(--project-accent-text,#fff)!important;border-color:var(--primary)!important}
body.ik-project-preview .btn.secondary{background:#fff!important;color:#26312d!important;border-color:color-mix(in srgb,var(--primary) 35%,#cfd8d4)!important}
body.ik-project-preview .card,body.ik-project-preview .side{background:#fff!important;color:#18211f!important}

@media(max-width:900px){
  body.ik-home .ikLanding{min-height:auto;padding-bottom:32px}
  body.ik-admin .hero{padding:28px 22px!important}
}
@media(max-width:620px){
  body.ik-home .ikLanding h1{font-size:34px;line-height:1.06}
  body.ik-home .ikLanding p{font-size:16px;line-height:1.55}
  body.ik-home #projectsView{padding-top:36px}
  body.ik-admin .hero{border-radius:19px!important;padding:24px 18px!important}
}
