:root{--bg:#f5f7f8;--surface:#fff;--ink:#172026;--muted:#66727a;--line:#dce3e6;--brand:#123f47;--brand2:#1d5d67;--accent:#d9ff58;--shadow:0 18px 45px rgba(23,32,38,.08)}*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}body{margin:0}.hidden{display:none!important}button,input,select{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#dce8e8 0,transparent 32%),linear-gradient(135deg,#eef3f3 0%,#f8faf9 70%)}.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:40px;box-shadow:var(--shadow)}.logo{width:56px;height:56px;display:grid;place-items:center;border-radius:16px;background:var(--brand);color:var(--accent);font-size:26px;font-weight:800}.logo.small{width:38px;height:38px;border-radius:11px;font-size:19px}.eyebrow{margin:22px 0 7px;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--brand2)}h1{font-size:clamp(30px,4vw,44px);line-height:1.05;letter-spacing:-.03em;margin:0 0 10px}.muted{color:var(--muted);line-height:1.55}.stack{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#46535a}input,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;outline:none}input:focus,select:focus{border-color:var(--brand2);box-shadow:0 0 0 3px rgba(29,93,103,.1)}button{cursor:pointer}.primary{border:0;border-radius:12px;padding:12px 16px;font-weight:800;background:var(--brand);color:#fff}.primary:hover{background:var(--brand2)}.auth-links{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:28px;color:#879096}.auth-links button,.back{border:0;background:none;color:var(--brand2);font-weight:800;padding:0}.back{margin-top:28px}.message{font-size:13px;color:var(--brand2);min-height:20px;margin:0}.error{font-size:13px;color:#9c2b2b;min-height:20px;margin:0}.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:14px max(22px,calc((100vw - 1240px)/2));background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;color:var(--muted);margin-top:2px}.user{font-size:12px;color:var(--muted);margin-right:10px}.ghost{border:1px solid var(--line);background:transparent;color:var(--brand);border-radius:12px;padding:10px 14px;font-weight:800}.page{width:min(1240px,calc(100% - 44px));margin:auto;padding:46px 0 72px}.heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px}.metric{min-width:150px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px 20px}.metric strong{display:block;font-size:31px}.metric span{font-size:12px;color:var(--muted)}.filters{display:grid;grid-template-columns:2.2fr repeat(3,minmax(150px,1fr));gap:12px;margin:28px 0 22px}.status{padding:20px;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:rgba(255,255,255,.55)}.cards{display:grid;gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-template-columns:1fr auto;gap:20px}.card:hover{box-shadow:var(--shadow)}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.badge{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800;background:#eef2f3}.badge.group-oportunidad_fuerte{
  background:#e6f2ea;
  color:#446a53;
  border:1px solid #bfd8c8;
}

.badge.group-oportunidad_media{
  background:#f5efd9;
  color:#7a6530;
  border:1px solid #ded1a8;
}

.badge.group-reciente_menor_escala{
  background:#edf1f4;
  color:#5c6972;
  border:1px solid #d4dde2;
}

.badge.group-control_temporal{
  background:#eeeaf4;
  color:#655c76;
  border:1px solid #d8d0e2;
}
.p1{background:#bfe3d8;color:#0b5a4a;border:1px solid #8fc8b7}
.p2{background:#d8e9f5;color:#2b5f7b;border:1px solid #b7d3e6}
.p3{background:#dde6eb;color:#4e6673;border:1px solid #c3d0d7}
.p4{background:#eef1f3;color:#667078;border:1px solid #d8dee2}.card h2{font-size:22px;margin:0 0 6px}.meta{
  display:flex;
  align-items:center;
  gap:7px 16px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:13px;
}

.meta>span{
  display:inline-flex;
  align-items:center;
  gap:4px;
}.surface{
  text-align:right;
  min-width:170px;
  align-self:start;
  padding:12px 14px;
  border-radius:14px;
  background:#e4f3f1;
  border:1px solid #bfded9;
}

.surface strong{
  display:block;
  font-size:22px;
  color:#123f47;
}

.surface span{
  font-size:11px;
  color:#66727a;
}.rubros{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}.rubro{font-size:11px;border:1px solid #cdd8db;color:var(--brand);border-radius:999px;padding:5px 8px}.open{margin-top:15px;color:var(--brand2);font-weight:800;font-size:13px;cursor:pointer}.detail-hero{background:var(--brand);color:#fff;border-radius:26px;padding:30px;display:grid;grid-template-columns:1fr auto;gap:24px}.detail-hero .muted,.detail-hero .eyebrow{color:#bcd1d3}.hero-stat{align-self:center;min-width:190px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:18px}.hero-stat strong{display:block;font-size:29px;color:var(--accent)}.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:18px}.box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.box h3{font-size:13px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.kv{display:grid;grid-template-columns:1fr 1fr;gap:16px}.kv span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.callout{padding:15px;border-radius:14px;background:#f4f7e9;border:1px solid #dfe9b8;line-height:1.5;font-size:13px}.warning{background:#fff6e4;border-color:#f1d89b}.back-btn{margin-bottom:20px}@media(max-width:820px){.filters{grid-template-columns:1fr 1fr}.heading,.detail-hero{display:grid;grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.card{grid-template-columns:1fr}.surface{text-align:left}.user{display:none}}@media(max-width:520px){.filters,.kv{grid-template-columns:1fr}.open{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  box-sizing:border-box;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #cdd8db;
  border-radius:12px;
  background:#f4f8f7;
  color:var(--brand);
  font-size:14px;
  font-weight:800;
}.page{width:calc(100% - 28px);padding-top:30px}.auth-card{padding:28px 22px}}

.detail-hero .rubro{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.07)}

.explained{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.help-btn{display:inline-grid;place-items:center;flex:0 0 auto;width:19px;height:19px;padding:0;border:1px solid #aebbc0;border-radius:50%;background:transparent;color:#53636a;font-size:12px;font-weight:850;line-height:1;vertical-align:middle}
.help-btn:hover,.help-btn:focus{border-color:var(--brand2);color:var(--brand2);background:#edf4f4;outline:none}
.badge .help-btn{width:16px;height:16px;font-size:10px;margin-left:2px;border-color:currentColor;color:inherit;opacity:.72}
.detail-hero .help-btn{border-color:rgba(255,255,255,.65);color:#fff;opacity:.9}
.detail-hero .help-btn:hover,.detail-hero .help-btn:focus{background:rgba(255,255,255,.12);color:#fff}
.detail-hero .eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:2px}
.detail-hero .eyebrow>span{display:inline-flex;align-items:center;gap:5px}
.help-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(13,28,32,.48);backdrop-filter:blur(3px)}
.help-sheet{position:relative;width:min(460px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 24px 70px rgba(10,25,30,.22)}
.help-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f5f7f8;color:var(--ink);font-size:24px;line-height:1}
.help-kicker{font-size:11px;font-weight:850;letter-spacing:.12em;color:var(--brand2);text-transform:uppercase;margin-bottom:9px}
.help-sheet h2{margin:0 42px 10px 0;font-size:24px}
.help-sheet p{margin:0;color:#46555d;line-height:1.55;font-size:15px}
.help-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;line-height:1.45;color:var(--muted)}
@media(max-width:520px){.help-overlay{align-items:end;padding:0}.help-sheet{width:100%;border-radius:22px 22px 0 0;padding:25px 22px 30px}}

.top-actions{display:flex;align-items:center;gap:8px}
.info-ghost{white-space:nowrap}
.interpretation-overlay{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:20px;background:rgba(13,28,32,.55);backdrop-filter:blur(4px)}
.interpretation-card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:0 26px 80px rgba(10,25,30,.24)}
.interpretation-card .eyebrow{margin-top:18px}
.interpretation-card h2{font-size:30px;letter-spacing:-.025em;margin:0 0 10px}
.interpretation-card>p{color:#4d5b62;line-height:1.55}
.interpretation-points{display:grid;gap:12px;margin:22px 0}
.interpretation-points>div{display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fbfcfc}
.interpretation-points p{margin:0;color:#4b5960;line-height:1.48;font-size:14px}
.source-dot,.radar-dot{width:12px;height:12px;border-radius:50%;margin-top:4px}
.source-dot{background:#78969c}
.radar-dot{background:var(--accent);border:1px solid #a8c32e}
.interpretation-warning{padding:14px 15px;border-radius:14px;background:#fff6e4;border:1px solid #f1d89b;color:#57451d!important}
.interpretation-accept{width:100%;margin-top:4px}

.detail-section-title{display:grid;grid-template-columns:12px 1fr;gap:14px;align-items:start;margin:28px 2px 10px}
.detail-section-title .eyebrow{margin:0 0 4px}
.detail-section-title h2{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}
.detail-section-title .muted{margin:0;font-size:13px}
.section-mark{width:10px;height:100%;min-height:58px;border-radius:999px}
.source-mark{background:#78969c}
.radar-mark{background:var(--accent);border:1px solid #b5cb45}
.source-grid,.radar-grid{margin-top:0}
.semantic-box{grid-column:1/-1}
.semantic-foot{font-size:12px;color:var(--muted);margin:12px 0 0;line-height:1.45}

@media(max-width:820px){
  .info-ghost{font-size:0;width:42px;height:42px;padding:0}
  .info-ghost::before{content:'ⓘ';font-size:18px}
}
@media(max-width:520px){
  .interpretation-overlay{align-items:end;padding:0}
  .interpretation-card{width:100%;border-radius:24px 24px 0 0;padding:26px 22px 30px;max-height:90vh;overflow:auto}
  .interpretation-card h2{font-size:27px}
  .top-actions{gap:6px}
  .topbar{padding-left:14px;padding-right:14px}
  .detail-section-title{margin-top:24px}
}

.metrics{display:flex;gap:10px;align-items:stretch}
.metric-universe{background:#f9fbfb}
.metric-universe strong{color:var(--brand)}
@media(max-width:820px){
  .metrics{width:100%;display:grid;grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .metrics{grid-template-columns:1fr}
}
.source-links{
  margin-top:16px;
}

.source-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border:1px solid #bfded9;
  border-radius:12px;
  background:#e4f3f1;
  color:#123f47;
  font-weight:800;
  font-size:13px;
  text-decoration:none;
  cursor:pointer;
}

.source-link:hover,
.source-link:focus{
  background:#d7ece8;
  border-color:#9fcfc7;
  outline:none;
}
.evidence-sheet{
  position:relative;
  width:min(760px,100%);
  max-height:88vh;
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:28px;
  box-shadow:0 24px 70px rgba(10,25,30,.24);
}

.evidence-sheet h2{
  margin:0 42px 8px 0;
  font-size:28px;
}

.evidence-content{
  display:grid;
  gap:14px;
  margin-top:20px;
}

.evidence-record{
  background:#f8faf9;
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
}

.evidence-record-title{
  font-size:12px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--brand2);
  margin-bottom:14px;
}

.evidence-record .kv{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:620px){
  .evidence-sheet{
    width:100%;
    max-height:92vh;
    border-radius:22px 22px 0 0;
    padding:24px 20px 30px;
  }

  .evidence-record .kv{
    grid-template-columns:1fr;
  }
}
.hero-side{
  display:grid;
  gap:12px;
  align-self:center;
  min-width:220px;
}

.opportunity-score{
  padding:14px 16px;
  border-radius:16px;
  background:#eef7d2;
  border:1px solid #d6e7a0;
  color:#123f47;
}

.score-label{
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:5px;
}

.score-value{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.score-value strong{
  font-size:24px;
  line-height:1;
}

.score-value span{
  font-size:13px;
  font-weight:800;
}

.score-help{
  flex-basis:100%;
  width:max-content;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#365318;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  text-align:left;
  white-space:nowrap;
}

.score-help:hover,
.score-help:focus{
  background:#e2efb6;
  outline:none;
}

.score-factors{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.score-factors>div{
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8faf9;
}

.score-factors strong{
  display:block;
  margin-bottom:3px;
}

.score-factors span{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}

@media(max-width:820px){
  .hero-side{
    width:100%;
    min-width:0;
  }
}
.score-bar{
  width:100%;
  height:7px;
  margin:8px 0 7px;
  border-radius:999px;
  background:#e7ece8;
  overflow:hidden;
}

.score-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#8fb8ad;
}
.card-score{
  margin-top:14px;
  max-width:360px;
}

.card-score-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
  font-size:11px;
}

.card-score-head span{
  color:var(--muted);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.card-score-head strong{
  color:var(--brand);
  font-size:12px;
  white-space:nowrap;
}

.card-score-bar{
  width:100%;
  height:7px;
  border-radius:999px;
  background:#e7ece8;
  overflow:hidden;
}

.card-score-bar i{
  display:block;
  height:100%;
  border-radius:999px;
  background:#8fb8ad;
}
.view-switch{
  display:inline-flex;
  gap:4px;
  margin-top:14px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#f4f7f6;
}

.view-switch-btn{
  border:0;
  background:transparent;
  color:var(--muted);
  padding:8px 12px;
  border-radius:9px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.view-switch-btn:hover{
  color:var(--brand);
}

.view-switch-btn.active{
  background:#fff;
  color:var(--brand);
  box-shadow:0 1px 3px rgba(18,63,71,.10);
}

/* Acceso Comercial v0.1 */
.access-title{margin-top:34px}.access-box{margin-top:0}.access-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}.access-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:5px}.access-level{font-size:22px;text-transform:capitalize}.access-level.alto{color:#17663a}.access-level.medio{color:#8a6500}.access-level.bajo{color:#8a3f35}.access-status{font-size:12px;color:var(--muted);background:#f5f7f8;border:1px solid var(--line);border-radius:999px;padding:7px 10px}.access-step{display:grid;grid-template-columns:30px 1fr;gap:12px;margin-top:18px;align-items:start}.access-step>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;font-size:12px;font-weight:850}.access-step small{font-size:10px;font-weight:850;letter-spacing:.1em;color:var(--brand2)}.access-step p{margin:4px 0 0;line-height:1.5;color:#39474e}.access-tools-title{margin-top:26px!important}.access-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.access-tool{border:1px solid var(--line);border-radius:15px;padding:14px;background:#fbfcfc}.access-tool-head>span{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.access-tool-head strong{display:block;margin-top:7px;font-size:13px;overflow-wrap:anywhere}.access-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.access-copy,.access-link{border:1px solid #cbd6d9;border-radius:9px;padding:8px 10px;background:#fff;color:var(--brand);font-size:11px;font-weight:800;text-decoration:none}.access-copy:hover,.access-link:hover{border-color:var(--brand2);background:#edf4f4}.access-copy.copied{background:#f4f7e9;border-color:#dfe9b8}.access-secondary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:12px}.access-secondary span{color:var(--muted)}.access-secondary a{color:var(--brand2);font-weight:800;text-decoration:none}.access-box .semantic-foot{margin-top:18px;padding:13px 14px;border-radius:12px;background:#f4f7e9;border:1px solid #dfe9b8}
@media(max-width:820px){.access-tools{grid-template-columns:1fr}.access-head{align-items:flex-start;flex-direction:column}.access-status{border-radius:10px}.access-actions{display:grid;grid-template-columns:1fr 1fr}.access-copy,.access-link{text-align:center}}
@media(max-width:520px){.access-actions{grid-template-columns:1fr}.access-box{padding:18px}.access-step{grid-template-columns:26px 1fr}.access-step>span{width:25px;height:25px}}

.card-score-bar .priority-alta{
  background:#6fa987;
}

.card-score-bar .priority-media{
  background:#d6b45f;
}

.card-score-bar .priority-baja{
  background:#9ca9b5;
}

.card-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:15px;
}

.card-actions .open{
  margin-top:0;
}

.favorite-btn{
  appearance:none;
  background:#fff;
  border:1px solid #cdd8db;
  border-radius:999px;
  padding:7px 12px;
  color:var(--brand);
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  transition:.15s ease;
}

.favorite-btn:hover{
  border-color:var(--brand);
  background:#f5f8f8;
}

.favorite-btn.saved{
  background:#eef5f0;
  border-color:#bdd3c4;
  color:#446a53;
}

.favorite-btn.saved::before{
  content:"✓ ";
}

@media(max-width:520px){
  .card-actions{
    justify-content:space-between;
  }
}

.info-ghost::before{
  content:none !important;
}

.info-ghost{
  width:34px;
  height:34px;
  min-width:34px;
  padding:0;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  font-weight:700;
  line-height:1;
}

@media (max-width: 768px) {
  .mobile-exp-inline-guide {
    margin: 10px 0 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(0,0,0,.08);
  }

  .mobile-exp-inline-title {
    margin: 0 0 9px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
  }

  .mobile-exp-inline-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 5px;
  }

  .mobile-exp-inline-row strong {
    min-width: 72px;
    font-size: 14px;
    line-height: 1.2;
  }

  .mobile-exp-inline-row span {
    font-size: 12px;
    opacity: .68;
  }

  .mobile-exp-inline-note {
    margin: 9px 0 0;
    font-size: 12px;
    line-height: 1.4;
    opacity: .72;
  }
}
