﻿:root{
  --bg:#eceff3;
  --surface:#f7f9fc;
  --card:#ffffff;
  --border:#d4dbe3;
  --accent:#1f6fd1;
  --accent2:#2f84ee;
  --accent3:#8eb7e6;
  --text:#1f2a36;
  --muted:#5e6c7a;
  --red:#c84b3c;
  --green:#2f8a58;
  --blue:#3a7abf;
  --purple:#8e5fbf;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{background:var(--bg);color:var(--text);font-family:'Poppins',sans-serif;min-height:100vh;overflow-x:hidden;transition:background-color 0.25s ease,color 0.25s ease;}
body[data-theme="dark"]{
  --bg:#0d1117;
  --surface:#161b22;
  --card:#0f141b;
  --border:#2d3743;
  --accent:#66a6ff;
  --accent2:#8bbdff;
  --accent3:#376ea6;
  --text:#e6edf3;
  --muted:#99a6b5;
  --red:#ff7b72;
  --green:#4fc08d;
  --blue:#7db4ff;
  --purple:#c297ff;
}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.02'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;opacity:0.2;}

/* HEADER */
header{padding:0 2.5rem;height:74px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--card);backdrop-filter:blur(14px);z-index:300;}
.logo{display:flex;align-items:center;gap:12px;}
.logo-main{height:70px;width:auto;display:block;object-fit:contain;}
.logo-face{height:42px;width:42px;border-radius:50%;object-fit:cover;border:2px solid var(--card);box-shadow:0 4px 12px rgba(0,0,0,0.12);display:block;}
.htag{font-family:'Poppins',sans-serif;font-size:0.65rem;color:var(--muted);border:1px solid var(--border);padding:4px 10px;border-radius:20px;background:var(--card);}
.top-links{display:flex;align-items:center;gap:8px;}
.top-link{font-family:'Poppins',sans-serif;font-size:0.65rem;color:var(--accent);border:1px solid var(--accent3);padding:4px 10px;border-radius:20px;text-decoration:none;transition:all 0.2s;background:var(--card);}
.top-link:hover{background:rgba(31,111,209,0.08);color:var(--accent2);}
.top-link i,.htag i{margin-right:6px;}
.theme-toggle{font-family:'Poppins',sans-serif;font-size:0.65rem;color:var(--accent);border:1px solid var(--accent3);padding:6px 12px;border-radius:999px;text-decoration:none;transition:all 0.2s;background:var(--card);cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.theme-toggle:hover{background:rgba(31,111,209,0.08);color:var(--accent2);}
.theme-toggle i{font-size:0.8rem;}
.theme-toggle-floating{position:fixed;top:14px;right:14px;z-index:10000;}

/* PROGRESS */
.progress-wrap{background:#454d57;border-bottom:1px solid #3a4149;padding:0.65rem 1.2rem 0.75rem;position:sticky;top:74px;z-index:200;box-shadow:0 8px 18px rgba(18,24,30,0.15);}
.progress-steps{display:flex;gap:2px;align-items:center;max-width:1100px;margin:0 auto;overflow-x:auto;padding-bottom:2px;}
.progress-steps::-webkit-scrollbar{height:4px;}
.progress-steps::-webkit-scrollbar-thumb{background:#687280;border-radius:10px;}
.pstep{flex:1;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;}
.pstep-dot{width:20px;height:20px;border-radius:50%;border:1px solid #616974;background:#525c67;display:flex;align-items:center;justify-content:center;font-size:0.52rem;font-family:'Poppins',sans-serif;color:#cfd7e0;transition:all 0.3s;flex-shrink:0;}
.pstep.done .pstep-dot{background:#fff;border-color:#fff;color:#2a3440;font-weight:700;}
.pstep.active .pstep-dot{border-color:#fff;color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,0.2);}
.pstep-label{font-size:0.48rem;font-family:'Poppins',sans-serif;color:#cfd7e0;text-align:center;display:block;line-height:1.1;}
.pstep.active .pstep-label,.pstep.done .pstep-label{color:#fff;}
.pline{flex:1;height:2px;background:#616974;border-radius:2px;transition:background 0.3s;max-width:16px;}
.pline.done{background:#fff;}

/* MAIN */
main{max-width:1280px;margin:0 auto;padding:2.5rem 2rem 6rem;}

/* SECTION CARD */
.section-card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:2.5rem;position:relative;overflow:hidden;display:none;animation:fadeUp 0.4s ease both;box-shadow:0 8px 24px rgba(14,30,48,0.06);}
.section-card.active{display:block;}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.section-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);}
.sec-eyebrow{font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--accent);text-transform:uppercase;letter-spacing:2.5px;margin-bottom:0.5rem;}
.sec-title{font-family:'Poppins',sans-serif;font-size:1.9rem;margin-bottom:0.4rem;line-height:1.1;}
.sec-title em{font-style:italic;color:var(--accent);}
.sec-desc{color:var(--muted);font-size:0.85rem;line-height:1.7;margin-bottom:1.8rem;}

/* FORM */
.fg{display:grid;gap:1.1rem;}
.fg2{grid-template-columns:1fr 1fr;}
.fg3{grid-template-columns:1fr 1fr 1fr;}
.fg4{grid-template-columns:1fr 1fr 1fr 1fr;}
.field{display:flex;flex-direction:column;gap:5px;}
.field label{font-family:'Poppins',sans-serif;font-size:0.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;display:inline-flex;align-items:center;gap:6px;}
.field input,.field textarea,.field select{background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--text);font-family:'Poppins',sans-serif;font-size:0.87rem;padding:0.62rem 0.85rem;outline:none;transition:border-color 0.2s;}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent3);}
.field textarea{resize:vertical;min-height:75px;line-height:1.6;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);}
.field select option{background:var(--card);}
.hint-text{font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--muted);margin-top:3px;}

/* SUBSEC */
.subsec{margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--border);}
.subsec-title{font-size:0.72rem;font-weight:700;color:var(--accent2);text-transform:uppercase;letter-spacing:1.5px;font-family:'Poppins',sans-serif;margin-bottom:0.85rem;}

/* DYN ROWS */
.dyn-row{display:grid;gap:8px;align-items:end;margin-bottom:7px;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:0.75rem 1rem;}
.dr2{grid-template-columns:1fr 28px;}
.dr3{grid-template-columns:2fr 1fr 28px;}
.dr4{grid-template-columns:2fr 1fr 90px 28px;}
.dr5{grid-template-columns:2fr 1fr 1fr 90px 28px;}
.dyn-row input,.dyn-row select{background:transparent;border:none;border-bottom:1px solid var(--border);border-radius:0;padding:4px 0;font-size:0.83rem;color:var(--text);font-family:'Poppins',sans-serif;outline:none;width:100%;}
.dyn-row input:focus,.dyn-row select:focus{border-bottom-color:var(--accent);}
.dyn-row input::placeholder{color:rgba(94,108,122,0.45);}
.col-lbl{font-family:'Poppins',sans-serif;font-size:0.55rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px;display:inline-flex;align-items:center;gap:5px;}
.label-icon{color:var(--accent2);line-height:1;}
.field label .label-icon{font-size:0.56rem;}
.col-lbl .label-icon{font-size:0.52rem;}
.btn-remove{background:rgba(200,75,60,0.1);border:1px solid rgba(200,75,60,0.2);color:var(--red);border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s;align-self:center;}
.btn-remove:hover{background:rgba(200,75,60,0.25);}
.btn-add{background:rgba(31,111,209,0.06);border:1px dashed var(--accent3);color:var(--accent);border-radius:9px;padding:0.52rem 1.1rem;font-family:'Poppins',sans-serif;font-size:0.76rem;cursor:pointer;transition:all 0.2s;margin-top:3px;}
.btn-add:hover{background:rgba(31,111,209,0.12);}

/* CANVAS */
.canvas-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:0.5rem;}
.cc{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:0.8rem;}
.cc.span2{grid-column:span 2;}
.cc.hl{border-color:var(--accent3);background:rgba(31,111,209,0.04);}
.cc-lbl{font-family:'Poppins',sans-serif;font-size:0.56rem;color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:5px;}
.cc textarea{background:transparent;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);font-family:'Poppins',sans-serif;font-size:0.79rem;outline:none;resize:none;min-height:54px;padding:3px 0;line-height:1.55;}
.cc textarea:focus{border-bottom-color:var(--accent);}
.cc textarea::placeholder{color:rgba(94,108,122,0.45);}

/* RISK ROW */
.risk-row{display:grid;grid-template-columns:2fr 95px 2fr 28px;gap:7px;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:0.75rem 0.9rem;margin-bottom:6px;}
.risk-row textarea,.risk-row select{background:transparent;border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:'Poppins',sans-serif;font-size:0.81rem;width:100%;outline:none;padding:3px 0;}
.risk-row textarea{resize:none;min-height:46px;line-height:1.5;}
.risk-row textarea:focus,.risk-row select:focus{border-bottom-color:var(--accent);}

/* FINANCIAL DASHBOARD */
.fin-input-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:1.2rem;}
.fin-input-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem;}
.fin-input-card label{display:block;font-family:'Poppins',sans-serif;font-size:0.58rem;color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0.5rem;}
.fin-input-card input{background:transparent;border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);font-family:'Poppins',sans-serif;font-size:1.4rem;outline:none;padding:2px 0;}
.fin-input-card input:focus{border-bottom-color:var(--accent);}
.fin-input-card .unit{font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--muted);margin-top:3px;}

.kpi-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:1rem 0;}
.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem;text-align:center;}
.kpi-card-val{font-family:'Poppins',sans-serif;font-size:1.5rem;color:var(--accent);}
.kpi-card-val.pos{color:var(--green);}
.kpi-card-val.neg{color:var(--red);}
.kpi-card-lbl{font-family:'Poppins',sans-serif;font-size:0.54rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:3px;}
.kpi-card-formula{font-family:'Poppins',sans-serif;font-size:0.5rem;color:rgba(94,108,122,0.65);margin-top:2px;}

.chart-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:1.2rem 0;}
.chart-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.2rem;}
.chart-box.wide{grid-column:span 2;}
.chart-title{font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0.8rem;}
.chart-box canvas{max-height:220px;}

.scenario-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:1rem 0;}
.scenario-card{border-radius:10px;padding:1.2rem;border:1px solid;}
.scenario-card.pesimista{background:rgba(200,75,60,0.07);border-color:rgba(200,75,60,0.25);}
.scenario-card.base{background:rgba(31,111,209,0.07);border-color:var(--accent3);}
.scenario-card.optimista{background:rgba(47,138,88,0.07);border-color:rgba(47,138,88,0.25);}
.sc-label{font-family:'Poppins',sans-serif;font-size:0.6rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0.6rem;}
.pesimista .sc-label{color:var(--red);}
.base .sc-label{color:var(--accent);}
.optimista .sc-label{color:var(--green);}
.sc-val{font-family:'Poppins',sans-serif;font-size:1.6rem;margin-bottom:0.3rem;}
.pesimista .sc-val{color:var(--red);}
.base .sc-val{color:var(--accent);}
.optimista .sc-val{color:var(--green);}
.sc-sub{font-size:0.75rem;color:var(--muted);line-height:1.5;}

.roi-table{width:100%;border-collapse:collapse;font-size:0.8rem;}
.roi-table th{text-align:right;padding:0.45rem 0.6rem;font-family:'Poppins',sans-serif;font-size:0.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);}
.roi-table th:first-child{text-align:left;}
.roi-table td{padding:0.45rem 0.6rem;border-bottom:1px solid rgba(212,219,227,0.5);text-align:right;font-family:'Poppins',sans-serif;}
.roi-table td:first-child{text-align:left;font-family:'Poppins',sans-serif;color:var(--muted);}
.roi-table .tr-total td{color:var(--accent);font-weight:700;border-top:1px solid var(--border);border-bottom:none;}
.pos{color:var(--green)!important;}
.neg{color:var(--red)!important;}

.exec-summary{background:linear-gradient(135deg,rgba(31,111,209,0.06),rgba(47,138,88,0.04));border:1px solid var(--accent3);border-radius:14px;padding:1.8rem;margin-top:1rem;}
.exec-summary h4{font-family:'Poppins',sans-serif;font-size:1.3rem;margin-bottom:1rem;color:var(--accent2);}
.exec-row{display:flex;justify-content:space-between;align-items:center;padding:0.5rem 0;border-bottom:1px solid rgba(212,219,227,0.6);font-size:0.85rem;}
.exec-row:last-child{border-bottom:none;}
.exec-row .lbl{color:var(--muted);}
.exec-row .val{font-weight:700;font-family:'Poppins',sans-serif;color:var(--accent);}
.exec-row .val.pos{color:var(--green);}
.exec-row .val.neg{color:var(--red);}

/* RISK MAP */
.risk-map-container{position:relative;margin:1rem 0;}
.risk-map-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:3px;width:100%;aspect-ratio:1.4;}
.risk-cell{border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:0.65rem;position:relative;cursor:default;}
.risk-axis-y{position:absolute;left:-2rem;top:0;bottom:0;display:flex;align-items:center;writing-mode:vertical-rl;transform:rotate(180deg);font-family:'Poppins',sans-serif;font-size:0.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;}
.risk-axis-x{text-align:center;font-family:'Poppins',sans-serif;font-size:0.6rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:0.5rem;}
.risk-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.62rem;font-weight:700;color:#fff;border:2px solid rgba(255,255,255,0.3);cursor:pointer;transition:transform 0.2s;}
.risk-dot:hover{transform:scale(1.2);}
.risk-legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:0.8rem;}
.risk-legend-item{display:flex;align-items:center;gap:5px;font-size:0.72rem;color:var(--muted);}
.risk-legend-dot{width:10px;height:10px;border-radius:50%;}

/* NAV */
.nav-buttons{display:flex;gap:10px;margin-top:2.2rem;justify-content:space-between;}
.btn-prev{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:10px;padding:0.72rem 1.4rem;font-family:'Poppins',sans-serif;font-size:0.84rem;cursor:pointer;transition:all 0.2s;}
.btn-prev:hover{border-color:var(--muted);color:var(--text);}
.btn-next{background:var(--accent);border:none;color:#fff;border-radius:10px;padding:0.72rem 1.8rem;font-family:'Poppins',sans-serif;font-size:0.84rem;font-weight:700;cursor:pointer;transition:all 0.2s;}
.btn-next:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(31,111,209,0.28);}
.btn-finish{background:var(--green);color:#fff;}
.btn-finish:hover{background:#3ba36a;box-shadow:0 6px 20px rgba(47,138,88,0.3);}

/* PLAN OUTPUT */
#plan-output{display:none;max-width:900px;margin:0 auto;padding:2rem 2rem 6rem;}
#plan-output.visible{display:block;}

.plan-cover{text-align:center;padding:3rem 2rem;background:linear-gradient(160deg,rgba(31,111,209,0.06),transparent);border:1px solid var(--border);border-radius:20px;margin-bottom:1.5rem;}
.plan-cover .badge{display:inline-flex;align-items:center;gap:7px;background:rgba(47,138,88,0.12);border:1px solid rgba(47,138,88,0.28);color:var(--green);border-radius:20px;padding:5px 14px;font-family:'Poppins',sans-serif;font-size:0.65rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:1.2rem;}
.plan-cover h1{font-family:'Poppins',sans-serif;font-size:3rem;margin-bottom:0.4rem;}
.plan-cover .slogan{color:var(--accent);font-style:italic;font-size:1.1rem;margin-bottom:0.4rem;}
.plan-cover .meta{color:var(--muted);font-family:'Poppins',sans-serif;font-size:0.7rem;}

.plan-toc{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.5rem 2rem;margin-bottom:1.5rem;}
.toc-title{font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:1rem;}
.toc-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 2rem;}
.toc-item{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:0.84rem;color:var(--muted);}
.toc-num{font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--accent);min-width:20px;}

.plan-section{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2rem;margin-bottom:14px;position:relative;overflow:hidden;}
.plan-section::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;}
.ps-blue::before{background:linear-gradient(90deg,var(--blue),transparent);}
.ps-gold::before{background:linear-gradient(90deg,var(--accent),transparent);}
.ps-green::before{background:linear-gradient(90deg,var(--green),transparent);}
.ps-red::before{background:linear-gradient(90deg,var(--red),transparent);}
.ps-purple::before{background:linear-gradient(90deg,var(--purple),transparent);}
.ps-teal::before{background:linear-gradient(90deg,#2a9d8f,transparent);}

.ps-header{display:flex;align-items:center;gap:10px;margin-bottom:1.2rem;}
.ps-header h2{font-size:1rem;font-weight:700;}
.ps-ico{font-size:1.2rem;}
.ps-tag{font-family:'Poppins',sans-serif;font-size:0.56rem;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px;}

.info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:0.5rem 0;border-bottom:1px solid rgba(212,219,227,0.6);font-size:0.84rem;}
.info-row:last-child{border-bottom:none;}
.info-row .lbl{color:var(--muted);flex-shrink:0;min-width:130px;}
.info-row .val{font-weight:600;text-align:right;}
.info-row .val.gold{color:var(--accent);}

.canvas-out{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.cco{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0.8rem;}
.cco.span2{grid-column:span 2;}
.cco.hl{border-color:var(--accent3);}
.cco-lbl{font-family:'Poppins',sans-serif;font-size:0.55rem;color:var(--accent);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:4px;}
.cco-val{font-size:0.78rem;color:#4e5d6c;line-height:1.6;white-space:pre-wrap;}

.ftable{width:100%;border-collapse:collapse;font-size:0.79rem;}
.ftable th{text-align:left;padding:0.45rem 0.6rem;font-family:'Poppins',sans-serif;font-size:0.55rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border);}
.ftable th:not(:first-child){text-align:right;}
.ftable td{padding:0.45rem 0.6rem;border-bottom:1px solid rgba(212,219,227,0.5);font-family:'Poppins',sans-serif;}
.ftable td:not(:first-child){text-align:right;}
.ftable .ttr td{color:var(--accent);font-weight:700;border-top:1px solid var(--border);border-bottom:none;}

.risk-out{display:flex;align-items:flex-start;gap:9px;padding:0.8rem 0.9rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;}
.rbadge{font-family:'Poppins',sans-serif;font-size:0.55rem;text-transform:uppercase;letter-spacing:1px;padding:3px 8px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-top:2px;}
.rbadge.Alto{background:rgba(200,75,60,0.18);color:var(--red);}
.rbadge.Medio{background:rgba(31,111,209,0.18);color:var(--accent);}
.rbadge.Bajo{background:rgba(47,138,88,0.18);color:var(--green);}
.risk-body .rt{font-weight:700;font-size:0.84rem;margin-bottom:2px;}
.risk-body .rm{font-size:0.79rem;color:var(--muted);line-height:1.55;}

.tips-ul{list-style:none;}
.tips-ul li{display:flex;gap:10px;padding:0.7rem 0;border-bottom:1px solid rgba(212,219,227,0.6);font-size:0.83rem;color:#4e5d6c;line-height:1.6;}
.tips-ul li:last-child{border-bottom:none;}
.tip-n{width:24px;height:24px;background:rgba(31,111,209,0.1);border:1px solid var(--accent3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:0.6rem;color:var(--accent);flex-shrink:0;margin-top:1px;}

.conclusion-box{background:rgba(31,111,209,0.04);border:1px solid var(--accent3);border-radius:10px;padding:1.1rem;font-size:0.85rem;color:#4e5d6c;line-height:1.8;white-space:pre-wrap;}

.action-bar{display:flex;gap:10px;margin-top:2rem;flex-wrap:wrap;}
.btn-act{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:0.58rem 1.1rem;color:var(--muted);font-family:'Poppins',sans-serif;font-size:0.77rem;cursor:pointer;transition:all 0.2s;}
.btn-act:hover{border-color:var(--accent);color:var(--accent);}
.btn-act.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700;}
.btn-act.primary:hover{background:var(--accent2);color:#fff;}

/* CHECKLIST */
.cl-category{margin-bottom:1.4rem;}
.cl-cat-header{display:flex;align-items:center;gap:10px;margin-bottom:0.7rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border);}
.cl-cat-icon{font-size:1.1rem;}
.cl-cat-title{font-weight:700;font-size:0.95rem;}
.cl-cat-badge{font-family:'Poppins',sans-serif;font-size:0.58rem;color:var(--muted);margin-left:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2px 8px;}
.cl-cat-badge.full{background:rgba(47,138,88,0.15);border-color:rgba(47,138,88,0.3);color:var(--green);}
.cl-item{display:flex;align-items:flex-start;gap:10px;padding:0.6rem 0.75rem;border-radius:8px;cursor:pointer;transition:background 0.15s;margin-bottom:4px;border:1px solid transparent;}
.cl-item:hover{background:var(--surface);}
.cl-item.checked{background:rgba(47,138,88,0.06);border-color:rgba(47,138,88,0.18);}
.cl-checkbox{width:20px;height:20px;border-radius:5px;border:2px solid var(--border);background:var(--surface);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all 0.2s;margin-top:1px;}
.cl-item.checked .cl-checkbox{background:var(--green);border-color:var(--green);}
.cl-check-icon{color:#fff;font-size:11px;display:none;}
.cl-item.checked .cl-check-icon{display:block;}
.cl-item-text{flex:1;}
.cl-item-label{font-size:0.87rem;color:var(--text);line-height:1.4;}
.cl-item.checked .cl-item-label{color:var(--muted);text-decoration:line-through;}
.cl-item-hint{font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--muted);margin-top:2px;line-height:1.4;}
.cl-item-tag{display:inline-flex;align-items:center;font-family:'Poppins',sans-serif;font-size:0.55rem;text-transform:uppercase;letter-spacing:0.8px;padding:1px 7px;border-radius:10px;margin-left:6px;vertical-align:middle;}
.cl-tag-legal{background:rgba(58,122,191,0.15);color:var(--blue);}
.cl-tag-fiscal{background:rgba(31,111,209,0.15);color:var(--accent);}
.cl-tag-op{background:rgba(142,95,191,0.15);color:var(--purple);}
.cl-tag-fin{background:rgba(47,138,88,0.15);color:var(--green);}
.cl-tag-mkt{background:rgba(200,75,60,0.15);color:var(--red);}
.cl-tag-rh{background:rgba(47,138,88,0.15);color:var(--green);}
.cl-progress-bar{height:6px;background:var(--border);border-radius:3px;margin-bottom:1.6rem;overflow:hidden;}
.cl-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--green));border-radius:3px;transition:width 0.4s ease;}
.cl-progress-label{font-family:'Poppins',sans-serif;font-size:0.65rem;color:var(--muted);margin-bottom:0.5rem;display:flex;justify-content:space-between;}
.cl-filter-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.2rem;}
.cl-filter{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:4px 12px;font-family:'Poppins',sans-serif;font-size:0.62rem;color:var(--muted);cursor:pointer;transition:all 0.2s;}
.cl-filter:hover,.cl-filter.active{border-color:var(--accent);color:var(--accent);background:rgba(31,111,209,0.08);}
.cl-summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-bottom:1.4rem;}
.cl-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:0.8rem;text-align:center;}
.cl-summary-val{font-family:'Poppins',sans-serif;font-size:1.5rem;color:var(--accent);}
.cl-summary-val.pos{color:var(--green);}
.cl-summary-lbl{font-family:'Poppins',sans-serif;font-size:0.55rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:2px;}

/* Checklist in plan output */
.po-cl-item{display:flex;align-items:flex-start;gap:8px;padding:0.55rem 0;border-bottom:1px solid rgba(212,219,227,0.5);font-size:0.83rem;}
.po-cl-item:last-child{border-bottom:none;}
.po-cl-status{font-size:0.85rem;flex-shrink:0;margin-top:1px;}
.po-cl-text{flex:1;line-height:1.5;}
.po-cl-text.done{color:var(--green);}
.po-cl-text.pending{color:var(--muted);}

/* PRINT */
@media print{
  header,.progress-wrap,#main-form,.action-bar{display:none!important;}
  #plan-output{display:block!important;padding:0;}
  body{background:#fff;color:#111;}
  .plan-section,.plan-cover,.plan-toc{background:#fff;border:1px solid #ddd;break-inside:avoid;}
  :root{--bg:#fff;--card:#fff;--surface:#f8f8f8;--border:#ddd;--text:#111;--muted:#666;--accent:#1f6fd1;--green:#2e7d32;--red:#c62828;--blue:#1565c0;}
}

@media(max-width:680px){
  main,#plan-output{padding:1.4rem 1rem 4rem;}
  .fg2,.fg3,.fg4{grid-template-columns:1fr;}
  .canvas-wrap,.canvas-out{grid-template-columns:1fr;}
  .cc.span2,.cco.span2{grid-column:span 1;}
  .risk-row{grid-template-columns:1fr 85px 28px;}
  .chart-row{grid-template-columns:1fr;}
  .chart-box.wide{grid-column:span 1;}
  .scenario-grid,.toc-list{grid-template-columns:1fr;}
  .dr4,.dr5{grid-template-columns:1fr 1fr 28px;}
  header{padding:0 1rem;}
  .progress-wrap{top:74px;padding:0.55rem 0.8rem 0.65rem;}
  .pstep{min-width:58px;}
  .pstep-dot{width:18px;height:18px;font-size:0.5rem;}
  .pstep-label{font-size:0.44rem;}
  .pline{max-width:10px;}
}

/* Emprende Chihuahua */
body.page-emprende{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--text);
}

body.page-emprende::before{
  display:none;
}

.page-emprende #root{
  min-height:100vh;
}

.page-emprende .loading{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Poppins',sans-serif;
  color:var(--muted);
  padding:20px;
  text-align:center;
}

.page-emprende .back-link{
  position:fixed;
  top:14px;
  left:14px;
  z-index:10000;
  font-family:'Poppins',sans-serif;
  font-size:13px;
  color:var(--accent);
  text-decoration:none;
  border:1px solid var(--accent3);
  border-radius:999px;
  padding:7px 12px;
  background:var(--card);
}

.page-emprende .back-link:hover{
  background:rgba(31,111,209,0.08);
}

/* Index auth gate */
.page-bizgen.auth-locked header,
.page-bizgen.auth-locked #main-form,
.page-bizgen.auth-locked .progress-wrap,
.page-bizgen.auth-locked #plan-output,
.page-bizgen.auth-locked #auth-proof{
  display:none !important;
}

.page-bizgen.auth-locked .auth-gate{display:flex;}
.page-bizgen:not(.auth-locked) .auth-gate{display:none;}

.auth-session-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:'Poppins',sans-serif;
  font-size:0.68rem;
  color:#1f7d4e;
  border:1px solid rgba(31,125,78,0.26);
  background:linear-gradient(145deg,rgba(47,138,88,0.18),rgba(47,138,88,0.08));
  border-radius:999px;
  padding:5px 11px;
}

.auth-logout-btn{
  font-family:'Poppins',sans-serif;
  font-size:0.68rem;
  color:#b43e31;
  border:1px solid rgba(180,62,49,0.26);
  background:linear-gradient(145deg,rgba(200,75,60,0.17),rgba(200,75,60,0.08));
  border-radius:999px;
  padding:5px 11px;
  cursor:pointer;
  transition:all 0.2s;
}

.auth-logout-btn:hover{transform:translateY(-1px);}

.auth-proof{
  max-width:1280px;
  margin:12px auto 0;
  padding:0 2rem;
}

.auth-proof-card{
  background:linear-gradient(130deg,rgba(47,138,88,0.12),rgba(31,111,209,0.06));
  border:1px solid var(--border);
  border-left:4px solid var(--green);
  border-radius:12px;
  padding:12px 14px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  font-family:'Poppins',sans-serif;
  font-size:0.73rem;
  color:var(--text);
}

.auth-proof-card strong{
  color:var(--green);
  font-weight:600;
}

.auth-gate{
  position:fixed;
  inset:0;
  z-index:12000;
  background:
    radial-gradient(circle at 20% 10%, rgba(31,111,209,0.26), transparent 42%),
    radial-gradient(circle at 80% 90%, rgba(47,138,88,0.20), transparent 45%),
    rgba(7,12,18,0.76);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.auth-gate-card{
  width:100%;
  max-width:620px;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  padding:1.35rem;
  box-shadow:0 28px 64px rgba(0,0,0,0.38);
  animation:authPop 0.22s ease-out;
}

@keyframes authPop{
  from{transform:translateY(8px);opacity:0;}
  to{transform:translateY(0);opacity:1;}
}

.auth-gate-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:0.85rem;
}

.auth-gate-ico{
  width:36px;
  height:36px;
  border-radius:10px;
  background:rgba(31,111,209,0.12);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1rem;
}

.auth-gate-title{
  font-family:'Poppins',sans-serif;
  color:var(--text);
  font-size:1.5rem;
  margin-bottom:0.15rem;
  letter-spacing:-0.02em;
}

.auth-gate-desc{
  color:var(--muted);
  font-size:0.84rem;
  margin-bottom:0;
}

.auth-tabs{
  display:flex;
  gap:8px;
  margin:0.95rem 0;
}

.auth-tab{
  flex:1;
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--muted);
  border-radius:8px;
  padding:0.5rem 0.7rem;
  font-family:'Poppins',sans-serif;
  font-size:0.78rem;
  cursor:pointer;
  transition:all 0.2s;
}

.auth-tab.active{
  color:var(--accent);
  border-color:var(--accent3);
  background:rgba(31,111,209,0.08);
}

.auth-tab:hover{border-color:var(--accent3);}

.auth-form{display:none;}
.auth-form.active{display:block;}

.auth-form-grid{display:grid;gap:0.8rem;}

.auth-input-wrap{display:flex;flex-direction:column;gap:5px;}

.auth-input-wrap label{
  font-family:'Poppins',sans-serif;
  font-size:0.6rem;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:1.2px;
}

.auth-input-wrap input{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:10px;
  color:var(--text);
  font-family:'Poppins',sans-serif;
  font-size:0.9rem;
  padding:0.62rem 0.8rem;
  outline:none;
  transition:all 0.2s;
}

.auth-input-wrap input:focus{
  border-color:var(--accent3);
  box-shadow:0 0 0 3px rgba(31,111,209,0.12);
}

.auth-btn{
  margin-top:0.2rem;
  border:1px solid transparent;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;
  border-radius:10px;
  padding:0.66rem 0.9rem;
  font-family:'Poppins',sans-serif;
  font-size:0.84rem;
  cursor:pointer;
  font-weight:600;
  transition:all 0.2s;
}

.auth-btn:hover{transform:translateY(-1px);filter:saturate(1.05);}

.auth-msg{
  min-height:20px;
  margin-top:0.55rem;
  font-size:0.75rem;
  color:var(--muted);
}

.auth-msg.ok{color:var(--green);}
.auth-msg.err{color:var(--red);}

@media(max-width:680px){
  .logo-main{height:32px;}
  .logo-face{height:34px;width:34px;}
  .htag{display:none;}
  .theme-toggle-label{display:none;}
  .auth-proof{padding:0 1rem;}
}

