/* Breemfy - Calculadora publica v19 */
@import url("https://api.fontshare.com/v2/css?f[]=clash-display@600,700&display=swap");

:root{
  --violet:#7F27FF;
  --violet-2:#5D12D2;
  --violet-dark:#331E54;
  --amber:#F8AF15;
  --orange:#F28300;
  --orange-deep:#EB651B;
  --bg:#F7F5FF;
  --card:#ffffff;
  --line:#E8DFFF;
  --line-soft:#F0EAFF;
  --ink:#2D2150;
  --muted:#6A6284;
  --shadow:0 20px 50px rgba(93,18,210,.10);
  --shadow-soft:0 12px 28px rgba(93,18,210,.08);
  --radius-xl:24px;
  --radius-lg:20px;
  --radius-md:16px;
  --font-ui:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-title:"Clash Display",Inter,system-ui,sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}

body{
  font-family:var(--font-ui);
  color:var(--ink);
  background:
    radial-gradient(circle at top right, rgba(127,39,255,.10), transparent 28%),
    radial-gradient(circle at left 20%, rgba(248,175,21,.10), transparent 18%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
}

.app{min-height:100vh;display:flex;flex-direction:column}

.screen{
  display:none;
  flex:1;
  overflow-y:auto;
  animation:fade .28s ease;
}

.screen.active{display:flex}

@keyframes fade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

.wrap{width:100%;max-width:680px;margin:0 auto;padding:20px 16px 34px}
.compact-wrap{padding-top:18px}

.hero{
  position:relative;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  overflow:hidden;
  padding:24px 16px 24px;
  border-radius:0 0 28px 28px;
  background:linear-gradient(145deg, #7F27FF 0%, #5D12D2 52%, #331E54 100%);
}

.hero-glow{
  position:absolute;
  border-radius:999px;
  filter:blur(30px);
  opacity:.9;
  pointer-events:none;
}

.hero-glow-a{
  width:220px;
  height:220px;
  right:-40px;
  top:-40px;
  background:rgba(248,175,21,.24);
}

.hero-glow-b{
  width:220px;
  height:220px;
  left:-30px;
  bottom:-45px;
  background:rgba(235,101,27,.20);
}

.hero-content{position:relative;max-width:520px}
.brand-logo{height:38px;margin-bottom:10px;filter:brightness(0) invert(1)}

.display{
  margin:0 0 10px;
  font-size:2rem;
  line-height:1.06;
  font-weight:800;
  letter-spacing:-.04em;
}

.hl{color:var(--amber)}

.lead{
  margin:0 auto 14px;
  max-width:450px;
  font-size:.95rem;
  line-height:1.42;
  color:rgba(255,255,255,.92);
}

.disclaimer-mini{
  margin:10px 0 0;
  font-size:.75rem;
  color:rgba(255,255,255,.78);
}

.back{
  background:none;
  border:none;
  color:var(--violet-2);
  font-size:.92rem;
  font-weight:700;
  cursor:pointer;
  padding:0 0 8px;
}

.eyebrow{
  margin:0 0 6px;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}

.title{
  margin:0 0 16px;
  font-size:1.48rem;
  line-height:1.1;
  font-weight:800;
  letter-spacing:-.03em;
}

.title-tight{margin-bottom:12px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:360px;
  min-height:52px;
  padding:14px 22px;
  border:none;
  border-radius:999px;
  font-family:var(--font-ui);
  font-size:1rem;
  font-weight:800;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.btn-cta{
  color:#ffffff;
  text-shadow:0 1px 2px rgba(150,66,0,.35);
  background:linear-gradient(90deg, var(--amber), var(--orange));
  box-shadow:0 14px 26px rgba(242,131,0,.28);
}

.btn-cta:hover{transform:scale(1.02)}

.btn-ghost{
  color:var(--violet-2);
  background:rgba(255,255,255,.75);
  border:1.5px solid #D9CCFF;
  box-shadow:none;
}

.btn-ghost:hover{background:#F1EAFE}

.profile-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.profile-grid-5 .profile-card{min-height:188px}

.profile-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px 16px;
  text-align:left;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:linear-gradient(180deg, #fff 0%, #FCFAFF 100%);
  box-shadow:var(--shadow-soft);
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.profile-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 30px rgba(93,18,210,.12);
  border-color:#CDBBFF;
}

.profile-card-blocked{
  cursor:not-allowed;
  background:linear-gradient(180deg, #FCFAFF 0%, #F4EEFF 100%);
  border-color:#D8CAFF;
  box-shadow:0 10px 24px rgba(93,18,210,.07);
}

.profile-card-blocked:hover{
  transform:none;
  box-shadow:0 10px 24px rgba(93,18,210,.07);
  border-color:#D8CAFF;
}

.icon-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(127,39,255,.12), rgba(127,39,255,.06));
  color:var(--violet-2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}

.ui-icon{width:22px;height:22px;fill:currentColor}
.p-name{font-size:1rem;font-weight:800;color:var(--violet-dark)}
.p-desc{font-size:.82rem;line-height:1.4;color:var(--muted)}

.profile-support-note{
  margin:12px 0 0;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(127,39,255,.08), rgba(127,39,255,.03));
  color:var(--violet-dark);
  font-size:.8rem;
  line-height:1.45;
}

.inline-toast{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid #D8CAFF;
  background:#F7F2FF;
  color:var(--violet-dark);
  font-size:.8rem;
  line-height:1.45;
  box-shadow:var(--shadow-soft);
}

.q-block{display:flex;flex-direction:column;gap:14px}

.field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.field-card{
  padding:16px;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:var(--card);
  box-shadow:var(--shadow-soft);
}

.field-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.field label{
  font-size:.95rem;
  font-weight:800;
  color:var(--ink);
}

.field small{
  font-size:.76rem;
  line-height:1.35;
  color:var(--muted);
}

.field-info{gap:6px}

.info-copy{
  margin:0;
  font-size:.83rem;
  line-height:1.4;
  color:var(--ink);
}

.checkbox-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
}

.checkbox-row input{
  width:18px;
  height:18px;
  margin-top:2px;
  accent-color:var(--violet-2);
}

.checkbox-row span{
  font-size:.92rem;
  font-weight:800;
  color:var(--ink);
  line-height:1.4;
}

.user-note-card{
  background:linear-gradient(180deg, #FBF9FF 0%, #F5F0FF 100%);
  border-color:#DED2FF;
}

.user-chain-card{
  background:linear-gradient(180deg, #FBF9FF 0%, #F5F0FF 100%);
  border-color:#DED2FF;
  box-shadow:0 10px 24px rgba(93,18,210,.06);
}

.range-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:#F4EEFF;
  color:var(--violet-2);
  font-size:.84rem;
  font-weight:800;
  white-space:nowrap;
}

.range-pill-secondary{
  background:linear-gradient(135deg, rgba(127,39,255,.12) 0%, rgba(93,18,210,.20) 100%);
  color:var(--violet-dark);
}

input[type=range]{
  width:100%;
  height:28px;
  margin:0;
  padding:0;
  background:transparent;
  appearance:none;
  -webkit-appearance:none;
}

input[type=range]:focus{outline:none}

input[type=range]::-webkit-slider-runnable-track{
  height:8px;
  border-radius:999px;
  background:#E7DEFF;
  border:none;
}

input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:20px;
  height:20px;
  margin-top:-6px;
  border-radius:50%;
  border:3px solid var(--violet-2);
  background:#fff;
  box-shadow:0 4px 10px rgba(93,18,210,.18);
}

input[type=range]::-moz-range-track{
  height:8px;
  border-radius:999px;
  background:#E7DEFF;
  border:none;
}

input[type=range]::-moz-range-thumb{
  width:20px;
  height:20px;
  border-radius:50%;
  border:3px solid var(--violet-2);
  background:#fff;
  box-shadow:0 4px 10px rgba(93,18,210,.18);
}

input[type=range]::-moz-focus-outer{border:0}

.chips{display:flex;gap:8px}
.chips-3 .chip{min-width:0}
.chips-inline-mobile .chip{min-width:0}

.chip{
  flex:1;
  min-height:46px;
  padding:10px 10px;
  border-radius:14px;
  border:1.5px solid #E3D6FF;
  background:#fff;
  color:var(--muted);
  font-family:var(--font-ui);
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}

.chip:hover{transform:translateY(-2px);border-color:#CDBBFF}

.chip b{
  display:block;
  font-size:.93rem;
  font-weight:800;
  color:var(--ink);
}

.chip span{
  display:block;
  margin-top:2px;
  font-size:.71rem;
}

.chip.active{
  border-color:transparent;
  background:linear-gradient(135deg, var(--violet) 0%, var(--violet-2) 100%);
  box-shadow:0 10px 18px rgba(93,18,210,.20);
}

.chip.active b,
.chip.active span{color:#fff}

.role-note{
  padding:12px 14px;
  border-left:3px solid var(--violet);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(127,39,255,.06), rgba(127,39,255,.02));
  color:var(--violet-dark);
  font-size:.8rem;
  line-height:1.42;
}

.result-wrap{
  padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px));
}

.result-hero{
  padding:22px 20px;
  border-radius:var(--radius-xl);
  background:linear-gradient(180deg, #fff 0%, #FCFAFF 100%);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  margin-bottom:12px;
}

.result-hero.is-empty{
  background:linear-gradient(180deg, #FCFAFF 0%, #F9F6FF 100%);
}

.result-level{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.level-caption{
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}

#r_level{
  display:inline-flex;
  padding:4px 12px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:800;
}

#r_level.lv-none{background:#F2EFF8;color:var(--muted)}
#r_level.lv-bajo,
#r_level.lv-medio{background:#F1EAFE;color:var(--violet-2)}
#r_level.lv-alto{background:#FFF1DA;color:var(--orange-deep)}

.meter{
  height:14px;
  border-radius:999px;
  overflow:hidden;
  background:#ECE4FF;
}

.meter-fill{
  display:block;
  height:100%;
  width:0;
  border-radius:999px;
  transition:width .45s ease;
  background:linear-gradient(90deg, #7F27FF 0%, #A76BFF 100%);
}

.meter-scale{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin-top:7px;
  font-size:.67rem;
  color:var(--muted);
}

.range-text{
  margin:14px 0 0;
  font-size:.95rem;
  line-height:1.4;
  font-weight:600;
  letter-spacing:0;
  color:var(--muted);
}

.range-text span{
  display:block;
  margin:6px 0 2px;
  font-family:var(--font-title);
  font-size:clamp(2rem, 6.5vw, 2.6rem);
  line-height:1.05;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--orange-deep);
}

.range-text small{
  display:block;
  margin-bottom:8px;
  font-family:var(--font-ui);
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.range-text.is-empty{
  margin-top:14px;
  font-size:1rem;
  font-weight:600;
  line-height:1.4;
  color:var(--muted);
  letter-spacing:0;
}

.range-text-local span{
  font-size:clamp(1.7rem, 5.8vw, 2.35rem);
  line-height:1.08;
}

.range-text-compact span{
  font-size:clamp(1.8rem, 6vw, 2.35rem);
  line-height:1.08;
}

.mobilized{
  margin-top:10px;
  font-size:.88rem;
  line-height:1.5;
  color:var(--muted);
}

.distribution-box{
  margin-bottom:12px;
}

.distribution-shell{
  padding:18px;
  border-radius:var(--radius-xl);
  border:1px solid var(--line);
  background:linear-gradient(180deg, #fff 0%, #FCFAFF 100%);
  box-shadow:var(--shadow-soft);
}

.distribution-head{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:16px;
}

.distribution-eyebrow{
  margin:0 0 6px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}

.distribution-head h3{
  margin:0;
  font-size:1.02rem;
  color:var(--violet-dark);
}

.distribution-copy{
  margin:6px 0 0;
  font-size:.82rem;
  line-height:1.45;
  color:var(--muted);
}

.distribution-totals{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.distribution-total{
  padding:12px 13px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#F9F7FF;
}

.distribution-total span{
  display:block;
  margin-bottom:4px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}

.distribution-total strong{
  font-size:.92rem;
  color:var(--violet-dark);
}

.total-local{
  border-color:#CAE7D9;
  background:linear-gradient(180deg, rgba(31,167,111,.10), rgba(31,167,111,.05));
}

.total-commission{
  border-color:#D8CAFF;
  background:linear-gradient(180deg, rgba(127,39,255,.10), rgba(127,39,255,.04));
}

.bar-block + .bar-block{margin-top:14px}

.bar-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
  font-size:.78rem;
  color:var(--muted);
}

.bar-label-row strong{
  color:var(--violet-dark);
  font-size:.79rem;
}

.stack-bar{
  display:flex;
  overflow:hidden;
  border-radius:999px;
  background:#EFE8FF;
  min-height:22px;
}

.stack-bar-commission{
  min-height:38px;
  background:#F4EEFF;
}

.dist-seg{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  color:#fff;
  font-size:.69rem;
  font-weight:800;
  text-align:center;
}

.dist-seg span{
  padding:0 8px;
  white-space:nowrap;
}

.stack-bar-overview .dist-seg{font-size:.68rem}

.seg-local{background:linear-gradient(90deg, #72C79C 0%, #4FA976 100%)}
.seg-commission{background:linear-gradient(90deg, #4A2875 0%, #5D12D2 100%)}
.seg-conquistador{background:linear-gradient(90deg, #7F27FF 0%, #A76BFF 100%)}
.seg-recomendador{background:linear-gradient(90deg, #F8AF15 0%, #F28300 100%)}
.seg-sugerido{background:linear-gradient(90deg, #7B86FF 0%, #A992FF 100%)}
.seg-breemfy{background:linear-gradient(90deg, #331E54 0%, #5D12D2 100%)}
.seg-tu{background:linear-gradient(90deg, #F28300 0%, #7F27FF 100%)}

.dist-legend{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.dist-legend-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  background:#FAF8FF;
  border:1px solid var(--line-soft);
}

.dist-dot{
  width:12px;
  height:12px;
  flex:0 0 12px;
  border-radius:50%;
}

.dist-legend-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  flex:1;
}

.dist-legend-copy strong{
  font-size:.84rem;
  color:var(--violet-dark);
}

.dist-legend-copy small{
  font-size:.73rem;
  color:var(--muted);
}

.dist-legend-amount{
  font-size:.82rem;
  font-weight:800;
  color:var(--ink);
  text-align:right;
}

.result-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-bottom:10px;
}

.result-cards-local,
.result-cards-organizador,
.result-cards-wide{
  grid-template-columns:1fr;
}

.rc{
  padding:18px;
  border-radius:var(--radius-lg);
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
}

.result-cards-local .rc,
.result-cards-organizador .rc,
.result-cards-wide .rc{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:164px;
}

.rc .rc-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(127,39,255,.12), rgba(127,39,255,.05));
  color:var(--violet-2);
}

.rc .rc-ico .ui-icon{width:20px;height:20px}

.rc .rc-t{
  margin-top:10px;
  font-size:.96rem;
  font-weight:800;
  color:var(--violet-dark);
}

.rc .rc-d{
  margin-top:4px;
  font-size:.79rem;
  line-height:1.45;
  color:var(--muted);
}

.formula-box{
  padding:14px 16px 12px;
  border-radius:var(--radius-lg);
  border:1px dashed #D9CCFF;
  background:#FCFAFF;
  margin-bottom:10px;
}

.formula-box h3{
  margin:0 0 6px;
  font-size:.9rem;
  color:var(--violet-dark);
}

.formula-box ol{
  margin:0;
  padding-left:18px;
  font-size:.8rem;
  line-height:1.45;
  color:var(--ink);
}

.formula-box .tiny{
  margin:8px 0 0;
  font-size:.74rem;
  color:var(--muted);
}

.warn-note{
  padding:11px 13px;
  border-radius:16px;
  border:1px solid #F5D2A3;
  background:linear-gradient(180deg, #FFF7EC 0%, #FFF4E2 100%);
  color:#915100;
  font-size:.77rem;
  line-height:1.42;
  margin-bottom:0;
}

.result-actions{
  display:grid;
  gap:14px;
  margin-top:24px;
  padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px));
}

.hidden{display:none !important}

@media(min-width:720px){
  .display{font-size:2.35rem}
  .profile-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .result-cards{grid-template-columns:repeat(3,1fr)}
  .result-cards-local,
  .result-cards-organizador,
  .result-cards-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .distribution-head{flex-direction:row;justify-content:space-between;align-items:flex-start}
  .distribution-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:430px){
  .wrap{padding:16px 14px 28px}
  .hero{padding:24px 14px 24px}
  .display{font-size:2.1rem}
  .lead{font-size:.9rem}
  .profile-grid{grid-template-columns:1fr}
  .field-card{padding:14px}
  .chips{flex-direction:column}
  .chips-inline-mobile{flex-direction:row}
  .chips-3{flex-direction:row}
  .result-hero{padding:18px 16px}
  .range-text span{font-size:2.05rem}
  .range-text-local span{font-size:1.9rem}
  .range-text-compact span{font-size:1.95rem}
  .range-text.is-empty{font-size:.98rem}
  .distribution-shell{padding:16px}
  .stack-bar-overview .dist-seg span{font-size:.62rem}
  .stack-bar-commission .dist-seg span{font-size:.62rem}
  .dist-legend-item{align-items:flex-start}
  .dist-legend-amount{padding-top:1px}
}

#btn-result{margin-top:22px}
#screen-questions .wrap{padding-bottom:42px}
.display,.title,.p-name,.range-text,#r_level{font-family:var(--font-title)}

.result-cards .rc:nth-child(2) .rc-ico{
  background:linear-gradient(180deg, rgba(248,175,21,.22), rgba(242,131,0,.10));
  color:var(--orange-deep);
}

.result-cards .rc:nth-child(3) .rc-ico{
  background:linear-gradient(180deg, rgba(3,156,226,.16), rgba(3,156,226,.07));
  color:#0C7BB0;
}

.result-cards-local .rc:nth-child(4) .rc-ico,
.result-cards-organizador .rc:nth-child(4) .rc-ico{
  background:linear-gradient(180deg, rgba(31,167,111,.18), rgba(31,167,111,.08));
  color:#0F7A51;
}
