/* ─── BASE ─── */
:root {
  --bg:#0f0f0f; --surface:#181818; --surface2:#222; --surface3:#2a2a2a;
  --border:#2e2e2e; --border2:#3a3a3a;
  --accent:#f5c842; --accent2:#ff6b35; --accent3:#a78bfa;
  --green:#4ade80; --red:#f87171; --blue:#60a5fa; --yellow:#fbbf24;
  --text:#f0f0f0; --muted:#777; --muted2:#555;
  --radius:10px; --radius2:6px;
  --shadow:0 1px 3px rgba(0,0,0,.45);
}

/* ─── TEMA CLARO ─── */
body.theme-light {
  --bg:#f0f2f5; --surface:#ffffff; --surface2:#f4f5f7; --surface3:#e8eaed;
  --border:#d1d5db; --border2:#c4c9d0;
  --accent:#d4a000; --accent2:#e05a20; --accent3:#7c5fcf;
  --green:#16a34a; --red:#dc2626; --blue:#2563eb; --yellow:#d97706;
  --text:#111827; --muted:#6b7280; --muted2:#9ca3af;
  --shadow:0 1px 4px rgba(0,0,0,.12);
}
body.theme-light .intro-title,
body.theme-light .version-inline { color: var(--text); }
body.theme-light .intro-title span { color: var(--accent); }
body.theme-light .badge { background: var(--accent); color: #fff; }
body.theme-light .btn-go { color: #fff; }
body.theme-light .btn-confirm { color: #fff; }
body.theme-light .opt.sel { background: #fef3c7; }
body.theme-light .opt:hover { background: #fef9e7; border-color: var(--accent); }
body.theme-light .health-ring.good { --ring-color: var(--green); }
body.theme-light .health-ring.warn { --ring-color: var(--yellow); }
body.theme-light .health-ring.bad  { --ring-color: var(--red); }
body.theme-light .scene-room { filter: brightness(1.04); }
body.theme-light .sidebar { border-right: 1px solid var(--border); box-shadow: 2px 0 8px rgba(0,0,0,.07); }
body.theme-light .main-topbar,
body.theme-light .tabs,
body.theme-light .main-footer { box-shadow: 0 1px 0 var(--border); }
body.theme-light input, body.theme-light select { background: var(--surface); border-color: var(--border); color: var(--text); }
body.theme-light .chip-fin-pos { background:#dcfce7; color:var(--green); }
body.theme-light .chip-fin-neg { background:#fee2e2; color:var(--red); }
body.theme-light .chip-rep-pos { background:#dbeafe; color:var(--blue); }
body.theme-light .chip-rep-neg { background:#fef3c7; color:var(--yellow); }
body.theme-light .chip-cli-pos { background:#ede9fe; color:var(--accent3); }
body.theme-light .chip-cli-neg { background:#fce7f3; color:#be185d; }
body.theme-light .impact-tag.impact-pos { background:#dcfce7; color:var(--green); }
body.theme-light .impact-tag.impact-neg { background:#fee2e2; color:var(--red); }
/* price-effect */
body.theme-light .price-effect.ok   { background:#dcfce7; color:#15803d; }
body.theme-light .price-effect.warn { background:#fef9c3; color:#92400e; }
body.theme-light .price-effect.bad  { background:#fee2e2; color:#b91c1c; }
/* misc boxes */
body.theme-light .danger-box        { background:#fee2e2; border-color:#fca5a5; color:#7f1d1d; }
body.theme-light .credit-active     { border-color:#d97706; }
body.theme-light .modal-warning     { background:#fef9c3; border-color:#fde68a; color:#92400e; }
body.theme-light .identity-error    { background:#fee2e2; border-color:#fca5a5; }
body.theme-light .val-msg           { background:#fee2e2; }
/* health alerts */
body.theme-light .health-alert      { background:#f3f4f6; color:#374151; border-color:var(--border); }
body.theme-light .health-alert.good { background:#dcfce7; color:#15803d; border-color:rgba(22,163,74,.25); }
body.theme-light .health-alert.warn { background:#fef9c3; color:#92400e; border-color:rgba(234,179,8,.25); }
body.theme-light .health-alert.bad  { background:#fee2e2; color:#b91c1c; border-color:rgba(220,38,38,.25); }
/* occ alerts & staff hint */
body.theme-light .occ-ok   { background:#dcfce7; color:#15803d; }
body.theme-light .occ-idle { background:#dbeafe; color:#1d4ed8; }
body.theme-light .occ-over { background:#fef9c3; color:#92400e; }
body.theme-light .staff-cost-hint { background:#fff7ed; border-color:#fed7aa; color:#c2410c; }
/* impact pills (standalone) */
body.theme-light .impact-pos { background:#dcfce7; color:#15803d; }
body.theme-light .impact-neg { background:#fee2e2; color:#b91c1c; }
/* option cards */
body.theme-light .opt:hover                    { background:#fefce8; border-color:var(--accent); }
body.theme-light .opt.sel                      { background:#fef3c7; border-color:var(--accent); }
body.theme-light .type-card:hover,
body.theme-light .type-card.sel               { background:#fefce8; }
body.theme-light .mode-card:nth-child(1):hover { background:#eff6ff; border-color:#93c5fd; }
body.theme-light .mode-card:nth-child(2):hover { background:#fefce8; }
/* tutorial elements */
body.theme-light .tutorial-tip           { background:#eff6ff; border-color:#bfdbfe; color:#1d4ed8; }
body.theme-light .tut-badge              { background:#dbeafe; color:#1d4ed8; }
body.theme-light .tut-reason-inline      { background:#eff6ff; border-left-color:#3b82f6; color:#1d4ed8; }
body.theme-light .opt.tut-recommended           { background:#eff6ff; border-color:#60a5fa !important; }
body.theme-light .opt.tut-recommended:hover     { background:#dbeafe; border-color:#93c5fd !important; }
body.theme-light .opt.tut-recommended.sel       { background:#dbeafe; color:#1d4ed8; border-color:#60a5fa !important; }
/* tour card */
body.theme-light .tour-card { background:#ffffff; border-color:#e2e8f0; }
body.theme-light .tour-title { color:#1e293b; }
body.theme-light .tour-content { color:#475569; }
body.theme-light .tour-content strong { color:#1e293b; }
body.theme-light .tour-step-count { color:#64748b; }
body.theme-light .tour-close { border-color:#e2e8f0; color:#64748b; }
body.theme-light .tour-footer { border-top-color:#e2e8f0; }
body.theme-light .tour-prev { background:#f1f5f9; color:#475569; }
/* results screen */
body.theme-light .visual-alert.good { background:#dcfce7; border-color:rgba(22,163,74,.3); }
body.theme-light .visual-alert.warn { background:#fef9c3; border-color:rgba(234,179,8,.3); }
body.theme-light .visual-alert.bad  { background:#fee2e2; border-color:rgba(220,38,38,.3); }
body.theme-light .visual-alert span  { color:var(--muted); }
body.theme-light .learn-box { background:#fffbeb; border-color:#fde68a; }
body.theme-light .learn-text { color:var(--muted); }
body.theme-light .tutor-analysis { background:#eff6ff; border-color:#bfdbfe; }
body.theme-light .tut-result-badge.tut-ok  { background:#dcfce7; color:#15803d; }
body.theme-light .tut-result-badge.tut-alt { background:#fef9c3; color:#92400e; }
body.theme-light .tut-row { border-bottom-color:#dbeafe; }
body.theme-light .tut-reason { color:#475569; }
body.theme-light .visual-summary { background:var(--surface); }
/* global tooltip */
body.theme-light #global-tooltip { background:#fff; border-color:var(--border); color:var(--text); box-shadow:0 4px 16px rgba(0,0,0,.12); }
body.theme-light #global-tooltip::after { border-top-color:var(--border); }
/* business visual wrap */
body.theme-light .business-visual-wrap { background:var(--surface2); }
/* intro screen */
body.theme-light #screen-intro { background:radial-gradient(ellipse at 30% 50%,#fef9c3 0%,#f0f2f5 55%), radial-gradient(ellipse at 80% 20%,#dbeafe 0%,transparent 50%); }
body.theme-light .intro-purpose { color:var(--text); }
body.theme-light .user-summary { background:rgba(255,255,255,.9); }
body.theme-light .identity-panel { background:rgba(255,255,255,.97); }
body.theme-light .coach-bubble { background:#fff; }
body.theme-light .coach-bubble::before { background:#fff; }
/* misc text overrides */
body.theme-light .ev-desc,
body.theme-light .glossary-def,
body.theme-light .cost-name,
body.theme-light .staff-lbl,
body.theme-light .cf-proj-label,
body.theme-light .ba-before { color:var(--muted); }
body.theme-light .ba-after { color:var(--text); }
body.theme-light .qr-why-row { border-top-color:var(--border); }
body.theme-light .health-ring-val { color:var(--text); }

/* ─── BOTÓN SWITCH TEMA ─── */
.btn-theme{background:var(--surface2);border:1px solid var(--border2);color:var(--muted);
  border-radius:99px;padding:5px 11px;font-size:13px;cursor:pointer;
  transition:all .18s;line-height:1;display:flex;align-items:center;gap:5px;}
.btn-theme:hover{border-color:var(--accent);color:var(--accent);}
body.theme-light .btn-theme{background:var(--surface2);border-color:var(--border);color:var(--muted);}
body.theme-light .btn-theme:hover{border-color:var(--accent);color:var(--accent);}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;min-height:100vh;font-size:13px;line-height:1.5;}
h1,h2,h3,.syne{font-family:'Syne',sans-serif;}
.mono{font-family:'DM Mono',monospace;}
.screen{display:none;min-height:100vh;flex-direction:column;}
.screen.active{display:flex;}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.anim{animation:fadeUp .25s ease forwards;}
.danger-box{background:#2a0a0a;border:1px solid #7f1d1d;border-radius:var(--radius);padding:18px;text-align:center;}
.result-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;}
.rb-title{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:12px;}
.res-footer{padding:14px 24px;border-top:1px solid var(--border);background:var(--surface);display:flex;justify-content:center;flex-shrink:0;}

/* ─── SCROLLBARS ─── */
::-webkit-scrollbar{width:7px;height:7px;}
::-webkit-scrollbar-track{background:#111;}
::-webkit-scrollbar-thumb{background:#3a3a3a;border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:#555;}
body.theme-light ::-webkit-scrollbar-track{background:#e8e8e8;}
body.theme-light ::-webkit-scrollbar-thumb{background:#bbb;}
body.theme-light ::-webkit-scrollbar-thumb:hover{background:#888;}
*{scrollbar-width:thin;scrollbar-color:#3a3a3a #111;}
body.theme-light *{scrollbar-color:#bbb #e8e8e8;}

/* ─── SIDEBAR ─── */
.sidebar{width:280px;min-width:220px;max-width:520px;background:var(--surface);border-right:1px solid var(--border);
  display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;
  transition:width .25s ease,min-width .25s ease,border .25s ease;}
.sidebar.collapsed{width:0;min-width:0;overflow:hidden;border-right:none;}
.sb-resize-handle{width:10px;cursor:col-resize;flex-shrink:0;position:relative;z-index:10;touch-action:none;user-select:none;}
.sb-resize-handle::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:100%;background:var(--border);transition:background .2s,width .2s;}
.sb-resize-handle:hover::after,.sb-resize-handle.resizing::after{background:var(--accent);width:4px;}
.sidebar.collapsed+.sb-resize-handle{display:none;}
.sb-header{padding:14px 16px;border-bottom:1px solid var(--border);}
.game-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:16px;}
.game-logo span{color:var(--accent);}
.biz-pill{background:var(--surface2);border:1px solid var(--border);border-radius:99px;
  padding:3px 10px;font-size:12px;color:var(--muted);display:inline-block;}
.btn-back-menu{background:none;border:1px solid var(--border);border-radius:6px;color:var(--muted);
  font-size:13px;padding:3px 8px;cursor:pointer;line-height:1;transition:color .15s,border-color .15s;flex-shrink:0;}
.btn-back-menu:hover{color:#fff;border-color:var(--border2);}
.month-track{padding:14px 16px;border-bottom:1px solid var(--border);}
.month-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.month-num{font-family:'Syne',sans-serif;font-weight:700;font-size:13px;color:var(--accent);}
.prog-bar{height:5px;background:var(--surface2);border-radius:99px;overflow:hidden;}
.prog-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .5s;}
.month-dots{display:flex;gap:5px;margin-top:8px;}
.m-dot{flex:1;height:6px;border-radius:99px;background:var(--surface3);transition:transform .15s;}
.m-dot:hover{transform:scaleY(1.5);}
.m-dot.done{background:var(--accent);}
.m-dot.current{background:var(--accent2);animation:dotPulse 1.6s ease-in-out infinite;}
.m-dot.profit{background:var(--green);}
.m-dot.loss{background:var(--red);}
.m-dot.semester,.m-dot.annual{height:9px;margin-top:-1px;}
.m-dot.annual{box-shadow:0 0 0 1px var(--accent);}
@keyframes dotPulse{0%,100%{opacity:1;box-shadow:0 0 6px -1px var(--accent2);}50%{opacity:.55;box-shadow:none;}}
.health-section{padding:12px 16px;border-bottom:1px solid var(--border);}
.health-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;}
.health-card.good{border-color:rgba(74,222,128,.35);background:linear-gradient(160deg,rgba(74,222,128,.07),var(--surface2) 55%);}
.health-card.warn{border-color:rgba(251,191,36,.4);background:linear-gradient(160deg,rgba(251,191,36,.07),var(--surface2) 55%);}
.health-card.bad{border-color:rgba(248,113,113,.45);background:linear-gradient(160deg,rgba(248,113,113,.09),var(--surface2) 55%);}
.health-main{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.health-info{flex:1;min-width:0;}
.health-title{font-family:'Syne',sans-serif;font-weight:700;font-size:13px;margin:2px 0 7px;}
.health-card.good .health-title{color:var(--green);}
.health-card.warn .health-title{color:var(--yellow);}
.health-card.bad .health-title{color:var(--red);}
.health-ring{--ring:var(--yellow);position:relative;width:52px;height:52px;border-radius:50%;flex-shrink:0;
  background:conic-gradient(var(--ring) calc(var(--p)*1%),var(--surface3) 0);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 14px -4px var(--ring);}
.health-ring::before{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--surface2);}
.health-ring.good{--ring:var(--green);}
.health-ring.warn{--ring:var(--yellow);}
.health-ring.bad{--ring:var(--red);}
.health-ring-val{position:relative;font-family:'DM Mono',monospace;font-size:16px;font-weight:600;color:#fff;}
.health-meter{height:5px;background:var(--surface3);border-radius:99px;overflow:hidden;}
.health-fill{height:100%;border-radius:99px;transition:width .6s ease;background:var(--yellow);}
.health-fill.good{background:var(--green);}
.health-fill.bad{background:var(--red);}
.health-alerts{display:flex;flex-wrap:wrap;gap:5px;}
.health-alert{font-size:12px;border-radius:99px;padding:3px 7px;background:#262626;color:#bbb;border:1px solid transparent;}
.health-alert.good{background:#0d2d1a;color:var(--green);border-color:rgba(74,222,128,.2);}
.health-alert.warn{background:#2d2000;color:var(--yellow);border-color:rgba(251,191,36,.2);}
.health-alert.bad{background:#2d0d0d;color:var(--red);border-color:rgba(248,113,113,.25);}
.kpi-section{padding:14px 16px;border-bottom:1px solid var(--border);}
.sec-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);
  font-family:'Syne',sans-serif;font-weight:700;margin-bottom:10px;}
.kpi-toggle,.sidebar-section-toggle{display:flex;justify-content:space-between;align-items:center;
  gap:10px;cursor:pointer;user-select:none;border-radius:6px;}
.kpi-toggle:hover .sec-label,.sidebar-section-toggle:hover .sec-label,
.staff-toggle:hover .sec-label,.costs-toggle:hover .sec-label{color:var(--text);}
.sidebar-section-summary{font-size:12px;color:var(--muted);line-height:1.35;}
.kpi-body{margin-top:10px;display:none;}
.kpi-body.open{display:block;}
.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.kpi-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius2);padding:10px;}
.kpi-lbl{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px;}
.kpi-val{font-family:'DM Mono',monospace;font-weight:500;font-size:15px;}
.kpi-val.pos{color:var(--green);}
.kpi-val.neg{color:var(--red);}
.kpi-val.neu{color:var(--text);}
.kpi-val.warn{color:var(--yellow);}
.kpi-sub{font-size:12px;color:var(--muted);margin-top:2px;}
.bar-mini{height:3px;background:var(--surface3);border-radius:99px;margin-top:5px;overflow:hidden;}
.bar-mini-fill{height:100%;border-radius:99px;transition:width .5s;}
.costs-section{padding:14px 16px;border-bottom:1px solid var(--border);}
.costs-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;}
.costs-toggle-icon{font-size:12px;color:var(--muted);transition:transform .2s;}
.costs-toggle-icon.open{transform:rotate(180deg);}
.costs-body{margin-top:10px;display:none;}
.costs-body.open{display:block;}
.cost-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);}
.cost-row:last-child{border-bottom:none;}
.cost-row-edit{flex-direction:column;align-items:stretch;gap:6px;}
.cost-name{font-size:12px;color:#ccc;}
.cost-impact{font-size:12px;color:var(--muted);margin-top:1px;}
.cost-input-wrap{display:flex;align-items:center;gap:4px;}
.cost-step-col{display:flex;flex-direction:column;gap:2px;}
.num-step-btn{background:var(--surface3);border:1px solid var(--border2);border-radius:4px;
  color:var(--text);width:22px;height:13px;cursor:pointer;font-family:'DM Mono',monospace;
  font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;}
.num-step-btn:hover{border-color:var(--accent);color:var(--accent);}
.cost-input{background:var(--surface3);border:1px solid var(--border2);border-radius:4px;
  color:var(--text);font-family:'DM Mono',monospace;font-size:12px;width:82px;padding:4px 6px;text-align:right;}
.cost-input::-webkit-outer-spin-button,.cost-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cost-input{appearance:textfield;-moz-appearance:textfield;}
.cost-input:focus{outline:none;border-color:var(--accent);}
.cost-save-btn{background:var(--accent);color:#000;border:none;border-radius:4px;padding:4px 8px;
  font-size:12px;font-weight:700;cursor:pointer;font-family:'Syne',sans-serif;}
.cost-save-btn:hover{background:#ffd700;}
.cost-total-row{display:flex;justify-content:space-between;padding:8px 0 2px;margin-top:4px;
  border-top:1px solid var(--border2);}
.cost-total-lbl{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;color:var(--muted);}
.cost-total-val{font-family:'DM Mono',monospace;font-weight:500;font-size:13px;color:var(--red);}
.impact-tag{font-size:12px;padding:1px 5px;border-radius:3px;font-weight:700;}
.impact-neg{background:#3d1010;color:var(--red);}
.impact-pos{background:#0d2d1a;color:var(--green);}
.price-section{padding:14px 16px;border-bottom:1px solid var(--border);}
.price-body{display:none;margin-top:10px;}
.price-body.open{display:block;}
.price-row{display:flex;align-items:center;gap:8px;margin-top:8px;}
.price-input{background:var(--surface2);border:1px solid var(--border2);border-radius:6px;
  color:var(--accent);font-family:'DM Mono',monospace;font-size:16px;font-weight:500;
  width:112px;padding:6px 10px;text-align:right;}
.price-input:focus{outline:none;border-color:var(--accent);}
.price-input::-webkit-outer-spin-button,.price-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.price-input{appearance:textfield;-moz-appearance:textfield;}
.price-hint{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4;}
.price-effect{font-size:12px;margin-top:6px;padding:6px 8px;border-radius:5px;line-height:1.4;}
.price-effect.ok{background:#0d2d1a;color:var(--green);}
.price-effect.warn{background:#2d2000;color:var(--yellow);}
.price-effect.bad{background:#2d0d0d;color:var(--red);}
/* ── Panel de compra de mercadería (modelo producto) ── */
.compra-section{padding:14px 16px;border-bottom:1px solid var(--border);}
.compra-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;}
.compra-body{display:none;margin-top:10px;}
.compra-body.open{display:block;}
.compra-hint{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.45;}
.perfil-grid{display:flex;flex-direction:column;gap:6px;margin-top:10px;}
.perfil-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  background:var(--surface2);border:1px solid var(--border2);border-radius:8px;padding:8px 10px;
  cursor:pointer;transition:all .15s;width:100%;}
.perfil-btn:hover{border-color:var(--accent2);}
.perfil-btn.sel{border-color:var(--accent);background:rgba(245,200,66,.08);box-shadow:0 0 0 1px var(--accent) inset;}
.perfil-emoji{font-size:14px;}
.perfil-name{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;color:var(--text);}
.perfil-btn.sel .perfil-name{color:var(--accent);}
.perfil-meta{font-size:12px;color:var(--muted);font-family:'DM Mono',monospace;}
.canasta-box{margin-top:10px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 10px;}
.canasta-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);padding:2px 0;}
.canasta-row strong{font-family:'DM Mono',monospace;color:var(--text);font-weight:500;}
.canasta-row strong.pos{color:var(--green);}
.canasta-row strong.warn{color:var(--yellow);}
.canasta-plain{font-size:12px;color:var(--muted);line-height:1.5;padding:7px 0 2px;border-top:1px solid var(--border);margin-top:5px;}
.canasta-plain strong{color:var(--text);}

/* ── Tooltips explicativos (fix UX: lenguaje novato) ── */
.tip-btn{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;background:var(--border);color:var(--muted);font-size:12px;font-weight:700;cursor:help;position:relative;margin-left:3px;vertical-align:middle;flex-shrink:0;font-family:'DM Sans',sans-serif;line-height:1;}

/* ── Mensaje contextual en meses con pérdida ── */
.context-loss-msg{display:flex;gap:10px;align-items:flex-start;background:rgba(245,200,66,.07);border:1px solid rgba(245,200,66,.22);border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.6;color:var(--fg,#eee);}
.clm-icon{font-size:18px;flex-shrink:0;margin-top:1px;}
.context-loss-msg strong{color:var(--accent,#f5c842);}
.mix-list{margin-top:10px;display:flex;flex-direction:column;gap:5px;}
.mix-row{display:flex;align-items:center;gap:6px;font-size:12px;}
.mix-lbl{flex:1;min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mix-bar{width:54px;height:5px;background:var(--surface2);border-radius:3px;overflow:hidden;flex-shrink:0;}
.mix-fill{height:100%;background:var(--accent2);border-radius:3px;}
.mix-pct{width:30px;text-align:right;font-family:'DM Mono',monospace;color:var(--text);flex-shrink:0;}

.credit-section{padding:14px 16px;border-bottom:1px solid var(--border);}
.credit-body{display:none;margin-top:10px;}
.credit-body.open{display:block;}
.credit-active{background:var(--surface2);border:1px solid #3a2000;border-radius:var(--radius2);padding:10px;}
.credit-label{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--accent2);
  font-family:'Syne',sans-serif;font-weight:700;margin-bottom:6px;}
.btn-credit{background:transparent;border:1px dashed var(--border2);border-radius:6px;
  padding:8px;width:100%;color:var(--muted);font-size:12px;cursor:pointer;transition:all .2s;margin-top:6px;}
.btn-credit:hover{border-color:var(--accent2);color:var(--accent2);}
.staff-section{padding:14px 16px;border-bottom:1px solid var(--border);}
.staff-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;}
.staff-body{margin-top:10px;display:none;}
.staff-body.open{display:block;}
.staff-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);}
.staff-row:last-child{border-bottom:none;}
.staff-row-edit{flex-direction:column;align-items:stretch;gap:6px;}
.staff-lbl{font-size:12px;color:#ccc;flex:1;}
.staff-lbl small{display:block;font-size:12px;color:var(--muted);margin-top:1px;}
.staff-input{background:var(--surface3);border:1px solid var(--border2);border-radius:4px;
  color:var(--text);font-family:'DM Mono',monospace;font-size:12px;width:70px;padding:4px 6px;text-align:right;}
.staff-input::-webkit-outer-spin-button,.staff-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.staff-input{appearance:textfield;-moz-appearance:textfield;}
.staff-input-wrap{display:flex;align-items:center;gap:4px;}
.staff-input:focus{outline:none;border-color:var(--accent);}
.staff-calc{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius2);padding:10px 12px;margin-top:10px;}
.staff-calc-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;}
.staff-calc-lbl{font-size:12px;color:var(--muted);}
.staff-calc-val{font-family:'DM Mono',monospace;font-size:12px;}
.occ-bar-wrap{margin-top:8px;}
.occ-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:4px;}
.occ-bar{height:8px;background:var(--surface3);border-radius:99px;overflow:hidden;}
.occ-fill{height:100%;border-radius:99px;transition:width .4s,background .4s;}
.occ-alert{font-size:12px;margin-top:6px;padding:6px 8px;border-radius:4px;line-height:1.4;}
.occ-over{background:#2d1500;color:var(--yellow);}
.occ-idle{background:#0d1a2d;color:var(--blue);}
.occ-ok{background:#0d2d1a;color:var(--green);}
.staff-cost-hint{font-size:12px;color:var(--accent2);margin-top:6px;padding:6px 8px;
  background:#1e0e00;border:1px solid #3d1e00;border-radius:4px;}

/* ─── INTRO ─── */
#screen-intro{align-items:center;justify-content:center;padding:86px 32px 86px;text-align:center;position:relative;
  background:radial-gradient(ellipse at 20% 50%,#1c1500 0%,#0f0f0f 55%),
             radial-gradient(ellipse at 80% 20%,#0d1a2e 0%,transparent 50%);}
.cettic-logo{position:absolute;top:clamp(18px,3vh,34px);right:clamp(28px,4vw,64px);
  width:clamp(92px,7vw,126px);max-width:126px;height:auto;object-fit:contain;z-index:1;}
.badge{background:var(--accent);color:#000;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:2px;text-transform:uppercase;padding:3px 12px;border-radius:99px;margin-bottom:20px;display:inline-block;}
.intro-title-wrap{display:inline-flex;align-items:flex-end;justify-content:center;gap:14px;margin-bottom:6px;
  max-width:min(1180px,calc(100vw - 390px));}
.intro-title{font-size:clamp(40px,8vw,80px);font-weight:800;line-height:1;margin-bottom:0;display:inline-block;}
.intro-title span{color:var(--accent);}
.version-inline{display:inline-block;font-family:'DM Mono',monospace;font-size:clamp(16px,1.7vw,22px);font-weight:700;color:var(--accent2);margin:0 0 10px 14px;white-space:nowrap;vertical-align:baseline;}
.mod-tag{display:none;background:var(--surface2);border:1px solid var(--accent3);color:var(--accent3);
  font-family:'Syne',sans-serif;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;margin-bottom:16px;}
.intro-sub{font-size:15px;color:var(--muted);max-width:500px;margin:0 auto 24px;font-weight:300;}
.intro-purpose{width:min(560px,100%);margin:0 auto 22px;background:rgba(245,200,66,.08);
  border:1px solid rgba(245,200,66,.28);border-radius:10px;padding:10px 14px;
  color:#d8d8d8;font-size:12px;line-height:1.45;}
.intro-purpose strong{color:var(--accent);font-family:'Syne',sans-serif;}
.intro-contact{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);display:flex;gap:10px;align-items:center;justify-content:center;
  width:min(560px,calc(100% - 48px));font-family:'Syne',sans-serif;font-size:13px;font-weight:700;letter-spacing:.6px;color:var(--muted);}
.intro-contact a{color:var(--muted);text-decoration:none;}
.intro-contact a:hover{color:var(--accent);}
.legal-footer{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  font-size:12px;color:var(--muted);opacity:.55;white-space:nowrap;text-align:center;}
.legal-footer a{color:var(--muted);text-decoration:underline;cursor:pointer;}
.legal-footer a:hover{opacity:1;color:var(--accent);}
@media (max-width:1400px){
  #screen-intro{padding-top:104px;}
  .cettic-logo{width:96px;top:20px;right:32px;}
  .intro-title-wrap{max-width:min(980px,calc(100vw - 260px));}
  .intro-title{font-size:clamp(40px,7vw,74px);}
}
@media (max-width:1120px){
  #screen-intro{padding-top:42px;}
  .cettic-logo{position:static;width:96px;margin-bottom:16px;}
  .intro-title-wrap{max-width:100%;flex-wrap:wrap;}
}
.coach-welcome{width:min(520px,100%);display:flex;align-items:flex-start;gap:12px;margin:0 auto 22px;text-align:left;}
.coach-avatar{flex:none;width:56px;height:56px;}
#screen-intro .coach-welcome{width:min(540px,100%);align-items:center;gap:14px;margin-bottom:18px;}
#screen-intro .coach-avatar{width:150px;height:150px;}
#screen-intro .coach-avatar img{width:100%;height:100%;object-fit:contain;}
.coach-bubble{position:relative;flex:1;background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--radius);padding:12px 16px;}
.coach-bubble::before{content:'';position:absolute;left:-7px;top:16px;width:12px;height:12px;
  background:var(--surface2);border-left:1px solid var(--border);border-bottom:1px solid var(--border);
  transform:rotate(45deg);}
.coach-name{font-family:'Syne',sans-serif;font-weight:800;font-size:12px;text-transform:uppercase;
  letter-spacing:1px;color:var(--accent);margin-bottom:4px;}
.coach-text{font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.5;color:var(--text);margin:0;}
.identity-panel{width:min(520px,100%);background:rgba(24,24,24,.92);border:1px solid var(--border);
  border-radius:var(--radius);padding:18px 20px;margin:0 auto 20px;text-align:left;}
.identity-title{font-family:'Syne',sans-serif;font-weight:800;font-size:13px;text-transform:uppercase;
  letter-spacing:1px;color:var(--accent);margin-bottom:10px;}
.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.identity-field label{display:block;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:5px;}
.identity-input{width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;
  color:var(--text);font-family:'DM Sans',sans-serif;font-size:13px;padding:9px 11px;}
.identity-input:focus{outline:none;border-color:var(--accent);}
.identity-actions{display:flex;align-items:center;gap:10px;margin-top:14px;}
.identity-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px;}
.identity-error{display:none;background:#2d0d0d;color:var(--red);border:1px solid #5f1d1d;
  border-radius:6px;padding:8px 10px;font-size:12px;margin-top:10px;}
.identity-error.show{display:block;}
.user-summary{display:none;align-items:center;justify-content:center;gap:12px;margin:0 auto 24px;
  background:rgba(24,24,24,.8);border:1px solid var(--border);border-radius:99px;padding:8px 14px;
  font-size:12px;color:var(--muted);}
.user-summary strong{color:var(--text);font-family:'Syne',sans-serif;}
.link-btn{background:none;border:none;color:var(--accent);font-family:'Syne',sans-serif;font-weight:700;
  font-size:12px;cursor:pointer;padding:0;}
.link-btn:hover{color:#ffd700;}
.micro-reco{width:min(520px,100%);margin:0 auto 22px;text-align:center;}
.micro-reco-q{font-family:'Syne',sans-serif;font-weight:700;font-size:13px;color:var(--muted);margin-bottom:10px;}
.micro-reco-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.micro-reco-btn{background:var(--surface2);border:1px solid var(--border2);color:var(--text);
  font-family:'DM Sans',sans-serif;font-size:12.5px;padding:8px 16px;border-radius:99px;
  cursor:pointer;transition:border-color .15s,color .15s,background .15s;}
.micro-reco-btn:hover{border-color:var(--accent);}
.micro-reco-btn.sel{background:var(--accent);color:#000;border-color:var(--accent);font-weight:700;}
.type-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:36px;}
.type-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;cursor:pointer;transition:all .2s;width:172px;text-align:center;}
.type-card:hover,.type-card.sel{border-color:var(--accent);background:#1c1500;transform:translateY(-3px);}
.type-card .ti{font-size:30px;margin-bottom:6px;}
.type-card .tn{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;}
.type-card .td{font-size:12px;color:var(--muted);margin-top:3px;min-height:33px;}
.type-card .tf{font-size:10.5px;color:var(--accent3);margin-top:6px;line-height:1.4;font-style:italic;}
.btn-go{background:var(--accent);color:#000;border:none;padding:13px 34px;border-radius:99px;
  font-family:'Syne',sans-serif;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s;}
.btn-go:hover{background:#ffd700;transform:translateY(-1px);}
.btn-go:disabled{opacity:.35;cursor:not-allowed;transform:none;}
#screen-game{flex-direction:row;height:100vh;overflow:hidden;}
.main-col{flex:1;display:flex;flex-direction:column;overflow-y:auto;height:100%;}
.main-topbar{padding:12px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;background:var(--surface);
  position:sticky;top:0;z-index:20;}
.topbar-left{display:flex;align-items:center;gap:10px;}
.topbar-title{font-family:'Syne',sans-serif;font-weight:700;font-size:14px;}
.btn-sidebar-toggle{height:28px;padding:0 10px;border-radius:6px;border:1px solid var(--border2);
  background:var(--surface2);color:var(--muted);font-size:12px;cursor:pointer;white-space:nowrap;
  display:grid;place-items:center;transition:all .15s;flex-shrink:0;line-height:1;}
.btn-sidebar-toggle:hover{border-color:var(--accent);color:var(--accent);}
.topbar-actions{display:flex;align-items:center;gap:10px;}
.btn-help{background:var(--surface2);border:1px solid var(--border2);color:#d8d8d8;
  border-radius:99px;padding:6px 12px;font-family:'Syne',sans-serif;font-weight:700;
  font-size:12px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;}
.btn-help:hover{border-color:var(--accent);color:var(--accent);}
.tabs{display:flex;gap:2px;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:47px;z-index:19;}
.tab{padding:10px 16px;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.5px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent;
  text-transform:uppercase;transition:all .15s;}
.tab:hover{color:var(--text);}
.tab.active{color:var(--accent);border-bottom-color:var(--accent);}
.business-visual-wrap{padding:14px 20px;background:linear-gradient(180deg,#131313,#0f0f0f);border-bottom:1px solid var(--border);}
.biz-visual{--tint:245,200,66;display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;overflow:hidden;position:relative;}
.biz-visual.expanded{grid-template-columns:minmax(560px,1fr) 320px;align-items:stretch;}
.biz-visual.taller{--tint:96,165,250;}
.biz-visual.consultoria{--tint:167,139,250;}
.biz-visual.good{border-color:rgba(74,222,128,.25);}
.biz-visual.warn{border-color:rgba(251,191,36,.35);}
.biz-visual.bad{border-color:rgba(248,113,113,.35);}
.biz-scene{height:auto;aspect-ratio:360/170;border-radius:8px;overflow:hidden;background:#161616;border:1px solid var(--border);}
.biz-visual.expanded .biz-scene{min-height:260px;}
.scene-room{position:relative;height:100%;}
.biz-visual.bad .scene-room{filter:saturate(.55) brightness(.82);}
.biz-visual.warn .scene-room{filter:saturate(.85);}
.scene-svg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.scene-svg .bob{animation:charBob 2.8s ease-in-out infinite;}
@keyframes charBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-2.5px);}}
/* Letrero tipo marquesina centrado */
.scene-sign{position:absolute;top:8px;left:50%;transform:translateX(-50%);z-index:2;white-space:nowrap;
  max-width:34%;overflow:hidden;text-overflow:ellipsis;
  font-family:'Syne',sans-serif;font-weight:800;font-size:10px;color:#fff;letter-spacing:.2px;
  background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35));
  border:1px solid rgba(var(--tint),.45);border-radius:7px;padding:3px 7px;
  box-shadow:0 0 18px -4px rgba(var(--tint),.55),inset 0 1px 0 rgba(255,255,255,.08);}
.biz-visual.expanded .scene-sign{font-size:12px;max-width:46%;}
/* Etiquetas de zona dentro de la escena */
.zone-tag{position:absolute;top:13px;z-index:3;font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.65);font-family:'Syne',sans-serif;font-weight:700;
  background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.07);border-radius:99px;padding:2px 6px;white-space:nowrap;}
.zone-tag.left{left:7px;}
.zone-tag.right{right:7px;}
.biz-visual.expanded .zone-tag{font-size:12px;padding:2px 8px;letter-spacing:1px;}
.biz-visual.expanded .zone-tag.left{left:9px;}
.biz-visual.expanded .zone-tag.right{right:9px;}
.biz-expand-btn{position:absolute;top:10px;right:10px;z-index:5;height:26px;padding:0 9px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.45);color:#fff;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;cursor:pointer;display:grid;place-items:center;white-space:nowrap;transition:all .15s;}
.biz-expand-btn:hover{border-color:rgba(var(--tint),.7);background:rgba(var(--tint),.18);transform:translateY(-1px);}
.biz-visual-info{align-self:center;padding-right:28px;}
.biz-visual.expanded .biz-visual-info{padding:18px 28px 18px 4px;}
/* Iluminación según salud */
.scene-light{position:absolute;inset:0;pointer-events:none;}
.biz-visual.good .scene-light{background:radial-gradient(ellipse at 50% 0%,rgba(74,222,128,.07),transparent 55%);}
.biz-visual.warn .scene-light{background:radial-gradient(ellipse at 50% 0%,rgba(251,191,36,.06),transparent 55%);}
.biz-visual.bad .scene-light{background:radial-gradient(ellipse at 50% 100%,rgba(248,113,113,.12),transparent 60%);animation:badFlicker 3.5s ease-in-out infinite;}
@keyframes badFlicker{0%,100%{opacity:1;}48%{opacity:1;}52%{opacity:.55;}56%{opacity:1;}62%{opacity:.7;}66%{opacity:1;}}
.visual-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-family:'Syne',sans-serif;font-weight:700;margin-bottom:3px;}
.visual-title{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;margin-bottom:2px;}
.visual-sub{font-size:12px;color:var(--muted);margin-bottom:10px;}
.visual-badges{display:flex;flex-wrap:wrap;gap:7px;}
.visual-badges span{background:var(--surface2);border:1px solid var(--border);border-radius:99px;padding:4px 8px;font-size:12px;}
.visual-badges .good{color:var(--green);border-color:rgba(74,222,128,.35);}
.visual-badges .warn{color:var(--yellow);border-color:rgba(251,191,36,.35);}
.visual-badges .bad{color:var(--red);border-color:rgba(248,113,113,.35);}
.game-content{padding:20px;}
.event-card{background:var(--surface);border:1px solid var(--border);
  border-left:3px solid var(--accent2);border-radius:var(--radius);padding:18px 20px;margin-bottom:18px;}
.event-card-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.event-card-copy{min-width:0;flex:1;}
.event-card-summary.has-media{display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;}
.event-card-media{display:grid;place-items:center;position:relative;overflow:hidden;width:132px;aspect-ratio:16/9;
  border:1px solid var(--border2);border-radius:6px;background:#101214;}
.event-card-media-fallback{font-size:28px;line-height:1;opacity:.72;}
.event-card-media-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity .22s ease;}
.event-card-media-image.is-ready{opacity:1;}
.event-card-media-image.is-unavailable{display:none;}
.event-context-toggle{flex-shrink:0;border:1px solid var(--border2);border-radius:99px;background:transparent;
  color:var(--muted);padding:6px 10px;font:700 12px/1 'Syne',sans-serif;cursor:pointer;}
.event-context-toggle:hover{color:var(--text);border-color:var(--accent);}
.event-context{padding-top:12px;margin-top:12px;border-top:1px solid var(--border);}
.event-context[hidden]{display:none;}
.ev-tag{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent2);
  font-family:'Syne',sans-serif;font-weight:700;margin-bottom:6px;}
.ev-title{font-family:'Syne',sans-serif;font-weight:700;font-size:17px;margin-bottom:6px;}
.ev-desc{color:#bbb;font-size:13px;line-height:1.6;}
.dec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;}
.dec-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.dec-head{padding:10px 14px;background:var(--surface2);border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;}
.dec-icon{font-size:16px;}
.dec-area{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;}
.dec-q{padding:8px 12px 4px;font-size:14px;color:var(--muted);}
.dec-opts{padding:8px 10px 10px;display:flex;flex-direction:column;gap:6px;}
.opt{background:var(--surface2);border:1px solid var(--border);border-radius:6px;
  color:var(--text);transition:all .15s;line-height:1.4;width:100%;overflow:hidden;}
.opt:hover{border-color:var(--accent);background:#1c1500;}
.opt.sel{border-color:var(--accent);background:#1c1500;color:var(--accent);}
.opt-select{display:block;width:100%;padding:9px 12px 7px;border:0;background:transparent;
  color:inherit;text-align:left;font-family:'DM Sans',sans-serif;cursor:pointer;}
.opt-select:disabled{cursor:not-allowed;}
.opt-title{display:block;font-size:12px;line-height:1.4;}
.opt-impact{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px;}
.opt-detail-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;
  padding:6px 12px;border:0;border-top:1px solid rgba(255,255,255,.06);background:transparent;
  color:var(--muted);font:600 12px/1.3 'DM Sans',sans-serif;cursor:pointer;text-align:left;}
.opt-detail-toggle:hover{color:var(--text);background:rgba(255,255,255,.025);}
.opt-detail-icon{font:700 15px/1 'DM Mono',monospace;color:var(--accent);}
.opt-detail{padding:8px 12px 10px;border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.12);}
.opt-detail[hidden]{display:none;}
.opt-desc{font-size:12px;color:var(--muted);line-height:1.45;}
.imp-chip{font-size:12px;padding:1px 5px;border-radius:3px;font-family:'DM Mono',monospace;}
.chip-fin-pos{background:#0d2d1a;color:var(--green);}
.chip-fin-neg{background:#2d0d0d;color:var(--red);}
.chip-rep-pos{background:#0d1a3d;color:var(--blue);}
.chip-rep-neg{background:#2d1a0d;color:var(--yellow);}
.chip-cli-pos{background:#1a0d2d;color:var(--accent3);}
.chip-cli-neg{background:#2d0d1a;color:#f472b6;}
.main-footer{padding:14px 20px;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;background:var(--surface);
  position:sticky;bottom:0;z-index:20;}
.sel-status{font-size:12px;color:var(--muted);}
.btn-confirm{background:var(--accent);color:#000;border:none;padding:10px 28px;border-radius:99px;
  font-family:'Syne',sans-serif;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s;}
.btn-confirm:hover{background:#ffd700;}
.btn-confirm:disabled{opacity:.35;cursor:not-allowed;}
@keyframes tourPulse{
  0%,100%{box-shadow:0 0 10px 4px rgba(245,200,66,.8),0 0 0 0 rgba(245,200,66,.5);}
  50%{box-shadow:0 0 22px 8px rgba(245,200,66,.95),0 0 0 18px rgba(245,200,66,0);}
}
.btn-confirm.tour-highlight{animation:tourPulse 1.1s ease-in-out infinite;outline:3px solid var(--accent);outline-offset:4px;background:#ffd700;color:#000;}
.tip{cursor:help;}
#global-tooltip{display:none;position:fixed;z-index:9999;
  background:#1e1e1e;border:1px solid #555;border-radius:8px;padding:9px 12px;
  font-size:12px;color:#e0e0e0;line-height:1.6;
  box-shadow:0 6px 24px rgba(0,0,0,.7);
  font-family:'DM Sans',sans-serif;font-weight:400;
  pointer-events:none;max-width:230px;}
#global-tooltip::after{content:'';position:absolute;top:100%;left:var(--arrow-left,50%);
  transform:translateX(-50%);border:5px solid transparent;border-top-color:#555;}
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;
  align-items:center;justify-content:center;z-index:100;display:none;}
.modal-overlay.open{display:flex;}
.modal{background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:28px;width:380px;max-width:90vw;}
.modal-title{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;margin-bottom:16px;}
.modal-row{margin-bottom:14px;}
.modal-lbl{font-size:12px;color:var(--muted);margin-bottom:5px;font-family:'Syne',sans-serif;font-weight:700;}
.modal-input{background:var(--surface2);border:1px solid var(--border2);border-radius:6px;
  color:var(--text);font-family:'DM Mono',monospace;font-size:14px;width:100%;padding:8px 12px;}
.modal-input:focus{outline:none;border-color:var(--accent);}
.modal-btns{display:flex;gap:10px;margin-top:18px;}
.btn-modal-cancel{flex:1;background:transparent;border:1px solid var(--border2);border-radius:99px;
  color:var(--muted);padding:8px;cursor:pointer;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;}
.btn-modal-ok{flex:2;background:var(--accent);color:#000;border:none;border-radius:99px;
  padding:8px;cursor:pointer;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;}
.modal-warning{background:#2d1500;border:1px solid #5a2a00;border-radius:6px;
  padding:10px 12px;font-size:12px;color:var(--yellow);margin-top:10px;line-height:1.5;}
.glossary-modal{width:560px;max-width:92vw;}
.terms-modal{width:540px;max-width:92vw;}
.terms-body{font-size:12.5px;color:var(--muted);line-height:1.7;display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto;}
.terms-body p{margin:0;}
.terms-body a{color:var(--accent);text-decoration:none;}
.terms-body a:hover{text-decoration:underline;}
.glossary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;}
.glossary-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;}
.glossary-term{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;color:var(--accent);margin-bottom:4px;}
.glossary-def{font-size:12px;color:#bbb;line-height:1.45;}
.color-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;}
.color-pill{border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.35;background:var(--surface2);border:1px solid var(--border);}
.color-pill strong{font-family:'Syne',sans-serif;}
.color-pill.green strong{color:var(--green);}
.color-pill.yellow strong{color:var(--yellow);}
.color-pill.red strong{color:var(--red);}
.input-error{border-color:var(--red) !important;}
.val-msg{font-size:12px;color:var(--red);margin-top:4px;padding:4px 6px;
  background:#2d0d0d;border-radius:4px;display:none;}
.val-msg.show{display:block;}
.mode-prompt{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 14px;}
.mode-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:8px;}
.mode-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);
  padding:20px 24px;cursor:pointer;transition:all .2s;width:200px;text-align:center;}
.mode-card:hover{transform:translateY(-3px);}
.mode-card:nth-child(1):hover{border-color:#60a5fa;background:#0a1a2e;}
.mode-card:nth-child(2):hover{border-color:var(--accent);background:#1c1500;}
.mode-icon{font-size:32px;margin-bottom:8px;}
.mode-name{font-family:'Syne',sans-serif;font-weight:800;font-size:14px;margin-bottom:6px;}
.mode-desc{font-size:12px;color:var(--muted);line-height:1.5;}
.tutorial-tip{display:flex;align-items:flex-start;gap:8px;background:#0a1829;border:1px solid #1e3a5f;
  border-radius:6px;padding:9px 12px;margin:4px 10px 0;font-size:12px;color:#93c5fd;line-height:1.5;}
.tut-tip-icon{flex-shrink:0;font-size:14px;margin-top:1px;}
.opt.tut-recommended{border-color:#60a5fa !important;background:#0a1829;}
.opt.tut-recommended:hover{border-color:#93c5fd !important;background:#0d2040;}
.opt.tut-recommended.sel{border-color:#60a5fa !important;background:#0d2040;color:#93c5fd;}
.tut-badge{display:inline-block;background:#1e3a5f;color:#60a5fa;font-size:12px;font-family:'Syne',sans-serif;
  font-weight:700;padding:2px 7px;border-radius:99px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.tut-reason-inline{margin-top:6px;padding:7px 9px;background:#061220;border-left:2px solid #3b82f6;
  border-radius:0 4px 4px 0;font-size:12px;color:#93c5fd;line-height:1.55;}
#tour-container{display:none;}
.tour-overlay{position:fixed;inset:0;z-index:2000;pointer-events:none;}
.main-footer.tour-spotlight{z-index:2500;}
.tour-card{position:fixed;z-index:2010;background:#0f172a;border:1px solid #334155;
  border-radius:12px;padding:20px;box-shadow:0 20px 60px rgba(0,0,0,.8);
  font-family:'DM Sans',sans-serif;max-height:calc(100vh - 24px);display:flex;flex-direction:column;overflow:hidden;}
.tour-content{overflow-y:auto;flex:1;min-height:0;}
.tour-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.tour-step-count{font-size:12px;color:#64748b;font-family:'Syne',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:1px;}
.tour-close{background:none;border:1px solid #334155;border-radius:50%;color:#64748b;
  width:22px;height:22px;cursor:pointer;font-size:12px;display:flex;align-items:center;
  justify-content:center;transition:all .15s;}
.tour-close:hover{color:#fff;border-color:#60a5fa;}
.tour-title{font-family:'Syne',sans-serif;font-weight:800;font-size:15px;color:#f1f5f9;margin-bottom:10px;line-height:1.3;}
.tour-content{font-size:12px;color:#94a3b8;line-height:1.7;margin-bottom:16px;}
.tour-content strong{color:#e2e8f0;}
.tour-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;
  border-top:1px solid #1e293b;padding-top:14px;flex-shrink:0;}
.tour-skip{background:none;border:none;color:#475569;font-size:12px;cursor:pointer;
  font-family:'DM Sans',sans-serif;padding:0;transition:color .15s;}
.tour-skip:hover{color:#94a3b8;}
.tour-nav{display:flex;gap:8px;}
.tour-btn{border:none;border-radius:99px;font-family:'Syne',sans-serif;font-weight:700;
  font-size:12px;padding:7px 14px;cursor:pointer;transition:all .15s;}
.tour-prev{background:#1e293b;color:#94a3b8;}
.tour-prev:hover{background:#334155;color:#f1f5f9;}
.tour-next{background:#3b82f6;color:#fff;}
.tour-next:hover{background:#2563eb;}

/* ─── RESULTS ─── */
#screen-results{flex-direction:column;height:100vh;min-height:0;overflow:hidden;}
.res-header{padding:20px 24px;border-bottom:1px solid var(--border);
  background:var(--surface);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.res-month{color:var(--accent);font-family:'Syne',sans-serif;font-size:12px;
  text-transform:uppercase;letter-spacing:2px;margin-bottom:3px;}
.res-title{font-family:'Syne',sans-serif;font-weight:800;font-size:24px;}
.res-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px;max-width:860px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:18px;}
.res-body>*{flex-shrink:0;}
.result-overview{display:flex;flex-direction:column;gap:12px;}
.result-overview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.result-overview-metric{display:flex;flex-direction:column;gap:4px;padding:14px 16px;
  background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--border2);border-radius:8px;}
.result-overview-metric.good{border-left-color:var(--green);}
.result-overview-metric.warn{border-left-color:var(--yellow);}
.result-overview-metric.bad{border-left-color:var(--red);}
.result-overview-metric strong{font:600 22px/1.2 'DM Mono',monospace;color:var(--text);}
.result-overview-metric.good strong{color:var(--green);}
.result-overview-metric.warn strong{color:var(--yellow);}
.result-overview-metric.bad strong{color:var(--red);}
.result-overview-metric>span:last-child{font-size:12px;color:var(--muted);}
.result-overview-label{font:700 12px/1.2 'Syne',sans-serif;text-transform:uppercase;
  letter-spacing:1px;color:var(--muted);}
.result-overview-guidance{display:grid;grid-template-columns:1.25fr 1fr;gap:10px;padding:14px 16px;
  border:1px solid var(--border);border-radius:8px;background:var(--surface);}
.result-overview-cause,.result-overview-recommendation{display:flex;flex-direction:column;gap:5px;}
.result-overview-cause{padding-right:14px;border-right:1px solid var(--border);}
.result-overview-cause strong,.result-overview-recommendation strong{font:700 13px/1.4 'Syne',sans-serif;color:var(--text);}
.result-overview-cause>span:last-child{font-size:11.5px;color:var(--muted);line-height:1.45;}
.result-overview-recommendation strong{color:var(--accent);}
.result-analysis-details{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden;}
.result-analysis-details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 16px;cursor:pointer;list-style:none;}
.result-analysis-details>summary::-webkit-details-marker{display:none;}
.result-analysis-details>summary span:first-child{display:flex;flex-direction:column;gap:2px;}
.result-analysis-details>summary strong{font:700 13px/1.3 'Syne',sans-serif;color:var(--text);}
.result-analysis-details>summary small{font-size:12px;color:var(--muted);}
.result-analysis-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border:1px solid var(--border2);border-radius:50%;color:var(--accent);font:700 15px/1 'DM Mono',monospace;}
.result-analysis-details[open] .result-analysis-icon{font-size:0;}
.result-analysis-details[open] .result-analysis-icon::after{content:'−';font-size:15px;}
.result-analysis-content{display:flex;flex-direction:column;gap:18px;padding:0 16px 16px;
  border-top:1px solid var(--border);}
.result-analysis-content>*:first-child{margin-top:16px;}
.result-analysis-details:not([open]) .result-analysis-content .anim,
.result-analysis-details:not([open]) .before-after-card,
.result-analysis-details:not([open]) .impact-icon{animation:none;}
.visual-summary{border-color:rgba(245,200,66,.22);background:linear-gradient(180deg,#1c1a12,var(--surface));}
.visual-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;}
.visual-result-title{font-family:'Syne',sans-serif;font-weight:800;font-size:18px;}
.visual-result-net{font-family:'DM Mono',monospace;font-size:22px;font-weight:600;}
.visual-result-net.pos{color:var(--green);}
.visual-result-net.neg{color:var(--red);}
.insolvency-banner,.insolvency-result{border:1px solid rgba(248,113,113,.55);background:#2a1416;color:#f3d7d9;border-radius:8px;padding:12px 14px;margin-bottom:14px;font-size:12px;line-height:1.5;}
.insolvency-title,.insolvency-result-title{font-family:'Syne',sans-serif;font-weight:800;color:#f87171;margin-bottom:4px;}
.insolvency-actions,.insolvency-recovery{margin-top:7px;color:#f5c842;}
.insolvency-capital-btn{margin-top:10px;border:1px solid rgba(245,200,66,.5);background:#211d0d;color:#f5c842;border-radius:6px;padding:7px 10px;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;cursor:pointer;}
.insolvency-capital-btn:hover{background:#302912;border-color:#f5c842;}
.insolvency-banner.level-2,.insolvency-result.level-2{border-color:#ef4444;background:#321113;}
.insolvency-result.level-3{border-color:#dc2626;background:#3b0b0e;}
.opt.insolvency-blocked{opacity:.45;cursor:not-allowed;border-style:dashed;filter:saturate(.5);}
.insolvency-blocked-note{margin-top:7px;padding:5px 7px;border-radius:5px;background:rgba(248,113,113,.1);color:#fca5a5;font-size:12px;line-height:1.35;}
.before-after-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;}
.before-after-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;position:relative;overflow:hidden;animation:baIn .45s ease backwards;}
@keyframes baIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.before-after-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--border2);}
.before-after-card.good::before{background:var(--green);}
.before-after-card.bad::before{background:var(--red);}
.before-after-card.good{border-color:rgba(74,222,128,.28);}
.before-after-card.bad{border-color:rgba(248,113,113,.32);}
.ba-head{display:flex;align-items:center;gap:7px;margin-bottom:9px;}
.ba-icon{font-size:17px;line-height:1;}
.ba-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;}
.ba-flow{display:flex;align-items:baseline;gap:8px;margin-bottom:9px;flex-wrap:wrap;}
.ba-before{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.25);}
.ba-arrow{color:var(--muted2);font-size:12px;}
.ba-after{font-family:'DM Mono',monospace;color:#fff;font-size:17px;font-weight:600;}
.before-after-card.good .ba-after{color:var(--green);}
.before-after-card.bad .ba-after{color:var(--red);}
.ba-delta-pill{display:inline-block;font-family:'DM Mono',monospace;font-size:12px;border-radius:99px;padding:2px 9px;}
.ba-delta-pill.good{color:var(--green);background:rgba(74,222,128,.1);border:1px solid rgba(74,222,128,.25);}
.ba-delta-pill.bad{color:var(--red);background:rgba(248,113,113,.1);border:1px solid rgba(248,113,113,.25);}
.visual-alert-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.visual-alert{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;}
.visual-alert.good{border-color:rgba(74,222,128,.32);background:#0e1b13;}
.visual-alert.warn{border-color:rgba(251,191,36,.35);background:#211b0b;}
.visual-alert.bad{border-color:rgba(248,113,113,.38);background:#210e0e;}
.visual-alert-icon{font-size:20px;line-height:1;}
.visual-alert strong{display:block;font-family:'Syne',sans-serif;font-size:12px;margin-bottom:2px;}
.visual-alert span{display:block;font-size:12px;color:#aaa;line-height:1.35;}
.result-detail{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);}
.result-detail summary{cursor:pointer;padding:13px 16px;font-family:'Syne',sans-serif;font-weight:700;font-size:12px;color:var(--accent);}
.result-detail .result-block{border:none;border-top:1px solid var(--border);border-radius:0;}
.pnl-table{width:100%;border-collapse:collapse;}
.pnl-table td{padding:7px 12px;font-size:12px;border-bottom:1px solid var(--border);}
.pnl-table .pnl-cat{color:var(--muted);font-size:12px;text-transform:uppercase;
  letter-spacing:1px;font-family:'Syne',sans-serif;background:var(--surface2);}
.pnl-table .pnl-subtotal td{font-family:'DM Mono',monospace;font-size:12px;color:var(--muted);
  border-top:1px dashed var(--border2);border-bottom:none;padding-top:6px;}
.pnl-table .pnl-subtotal td,.pnl-table .pnl-subtotal .neg{color:var(--red);}
.pnl-table .pnl-total td{font-family:'DM Mono',monospace;font-weight:500;font-size:14px;border-top:2px solid var(--border2);}
.pnl-table .mono{font-family:'DM Mono',monospace;}
.pnl-table .right{text-align:right;}
.pnl-table .pos{color:var(--green);}
.pnl-table .neg{color:var(--red);}
.pnl-table .warn{color:var(--yellow);}
.cf-chart-wrap{margin:4px 0 14px;overflow:visible;}
.cf-proj-table{display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden;}
.cf-proj-head{display:grid;grid-template-columns:1fr 1fr 1fr;padding:6px 12px;
  background:var(--surface2);font-size:12px;text-transform:uppercase;letter-spacing:1px;
  color:var(--muted);font-family:'Syne',sans-serif;}
.cf-proj-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:7px 12px;
  border-top:1px solid var(--border);font-size:12px;}
.cf-proj-label{color:#bbb;}
.cf-proj-val{font-family:'DM Mono',monospace;font-weight:500;font-size:9.6px;}
.cf-proj-val.pos{color:var(--green);}
.cf-proj-val.neg{color:var(--red);}
.cf-proj-val.warn{color:var(--yellow);}
.cons-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.5;}
.cons-item:last-child{border-bottom:none;}
.cons-icon{font-size:16px;flex-shrink:0;margin-top:1px;}
.cons-detail{display:flex;flex-direction:column;gap:4px;}
.cons-chips{display:flex;gap:4px;flex-wrap:wrap;}
.learn-box{background:#1c1500;border:1px solid #3a2800;border-radius:var(--radius);padding:18px;}
.learn-tag{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);
  font-family:'Syne',sans-serif;font-weight:700;margin-bottom:6px;}
.learn-concept{font-family:'Syne',sans-serif;font-weight:700;font-size:15px;margin-bottom:6px;}
.learn-text{font-size:12px;color:#bbb;line-height:1.6;}
.tutor-analysis{background:#09131d;border:1px solid #1e3a5f;border-radius:var(--radius);padding:18px;}
.tut-header{font-family:'Syne',sans-serif;font-weight:800;font-size:14px;color:#60a5fa;
  margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.tut-icon{font-size:18px;}
.tut-row{padding:10px 0;border-bottom:1px solid #1e3a5f;}
.tut-row:last-child{border-bottom:none;padding-bottom:0;}
.tut-row-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap;}
.tut-area-icon{font-size:15px;}
.tut-area-name{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;color:#e2e8f0;}
.tut-result-badge{font-size:12px;font-family:'Syne',sans-serif;font-weight:700;
  padding:2px 8px;border-radius:99px;margin-left:auto;}
.tut-result-badge.tut-ok{background:#0d2d1a;color:var(--green);}
.tut-result-badge.tut-alt{background:#1a1400;color:var(--yellow);}
.tut-rec-row{font-size:12px;color:var(--muted);margin-bottom:4px;padding:4px 8px;
  background:var(--surface2);border-radius:4px;}
.tut-rec-row strong{color:#93c5fd;}
.tut-reason{font-size:12px;color:#94a3b8;line-height:1.6;margin-top:4px;}
#screen-end{align-items:center;justify-content:center;padding:40px 24px;text-align:center;
  background:radial-gradient(ellipse at 50% 30%,#1c1500 0%,#0f0f0f 60%);}
.end-icon{font-size:60px;margin-bottom:14px;}
.end-kicker{font-family:'Syne',sans-serif;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1.6px;color:var(--accent2);margin-bottom:8px;}
.end-title{font-family:'Syne',sans-serif;font-weight:800;font-size:32px;margin-bottom:6px;}
.end-sub{color:var(--muted);font-size:14px;max-width:460px;margin:0 auto 28px;}
.end-stats{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:28px;}
.end-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 20px;min-width:110px;}
.end-stat-val{font-family:'DM Mono',monospace;font-weight:500;font-size:24px;color:var(--accent);}
.end-stat-lbl{font-size:12px;color:var(--muted);margin-top:3px;}
.end-disclaimer{max-width:720px;margin:0 auto 22px;background:rgba(24,24,24,.88);
  border:1px solid var(--border);border-radius:10px;padding:14px 18px;color:#aaa;
  font-size:12px;line-height:1.55;}
.journey-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;}
.journey-card{position:relative;background:var(--surface2);border:1px solid var(--border);
  border-radius:10px;padding:14px 16px;text-align:left;overflow:hidden;}
.journey-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);}
.journey-icon{font-size:20px;margin-bottom:6px;}
.journey-tag{font-family:'Syne',sans-serif;font-weight:700;font-size:12px;text-transform:uppercase;
  letter-spacing:.6px;color:var(--accent);margin-bottom:6px;}
.journey-text{font-size:12.5px;color:var(--muted);line-height:1.5;}
.journey-text strong{color:var(--text);}
.end-disclaimer strong{color:var(--accent);}

/* ─── TRIAL EXPIRED ─── */
.expired-screen{display:none;position:fixed;inset:0;z-index:9999;
  background:radial-gradient(ellipse at 50% 30%,#1c1500 0%,#0f0f0f 70%);
  align-items:center;justify-content:center;flex-direction:column;text-align:center;
  padding:32px;font-family:'DM Sans',sans-serif;}
.expired-icon{font-size:56px;margin-bottom:16px;}
.expired-title{font-family:'Syne',sans-serif;font-weight:800;font-size:28px;margin-bottom:10px;color:#fff;}
.expired-copy{color:#888;font-size:15px;max-width:420px;line-height:1.7;margin-bottom:32px;}
.expired-card{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:24px 32px;margin-bottom:28px;}
.expired-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2px;color:#888;
  font-family:'Syne',sans-serif;font-weight:700;margin-bottom:12px;}
.expired-brand{color:#f5c842;font-weight:600;font-size:16px;margin-bottom:4px;}
.expired-contact{color:#ccc;font-size:13px;}
.expired-web{color:#888;font-size:13px;margin-top:6px;}
.expired-web a{color:#f5c842;text-decoration:none;}
.expired-note{font-size:12px;color:#444;}

@media (max-width:1100px){
  .biz-visual{grid-template-columns:1fr;}
  .biz-scene{height:auto;aspect-ratio:360/170;max-width:440px;margin:0 auto;width:100%;}
  .before-after-grid{grid-template-columns:repeat(2,1fr);}
}

/* ══ v2.6.4: escena viva — clientes que llegan, esperan, se atienden y se van ══ */
.actor { will-change: transform; }
.actor .leg { transform-box: fill-box; transform-origin: center top; }
.actor.walking .leg-l { animation: legSwing .38s ease-in-out infinite; }
.actor.walking .leg-r { animation: legSwing .38s ease-in-out infinite reverse; }
@keyframes legSwing { 0%,100% { transform: rotate(16deg); } 50% { transform: rotate(-16deg); } }
.actor.walking .bob { animation: none; }

.srv-bubble { animation: bubblePop .32s cubic-bezier(.2,1.5,.4,1); }
@keyframes bubblePop { from { opacity: 0; } }
.srv-bubble .srv-pulse { transform-box: fill-box; transform-origin: center; animation: srvPulse 1.15s ease-in-out infinite; }
@keyframes srvPulse { 50% { transform: scale(1.12); } }

text.float-note { font: 700 12px 'Syne', sans-serif; paint-order: stroke; stroke: rgba(0,0,0,.65); stroke-width: 3px; animation: floatNote 1.8s ease-out forwards; }
text.float-note.good { fill: #4ade80; }
text.float-note.bad { fill: #f87171; }
@keyframes floatNote { 0% { opacity: 0; transform: translateY(7px); } 15% { opacity: 1; } 100% { opacity: 0; transform: translateY(-20px); } }
text.puff { animation: floatNote 1.05s ease-out forwards; }

/* ── Niveles estéticos del local ── */
.lamp-glow { animation: lampGlow 3.2s ease-in-out infinite; }
@keyframes lampGlow { 50% { opacity: .55; } }
.dim-flicker { animation: dimFlick 5s steps(1) infinite; }
@keyframes dimFlick { 0%, 7%, 11%, 100% { opacity: .2; } 8%, 10% { opacity: .38; } 54%, 56% { opacity: .3; } }
.tier-badge.lux { color: #e8c66a; border-color: rgba(212,175,55,.4) !important; }
.tier-badge.low { color: #b9a8a0; }

/* ── Animación de impacto al cierre de mes ── */
.impact-stage { position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; padding: 16px 18px; margin-bottom: 14px; border-radius: 10px; border: 1px solid; }
.impact-stage.win { background: linear-gradient(120deg, rgba(74,222,128,.13), rgba(74,222,128,.02)); border-color: rgba(74,222,128,.35); }
.impact-stage.lose { background: linear-gradient(120deg, rgba(248,113,113,.13), rgba(248,113,113,.02)); border-color: rgba(248,113,113,.35); }
.impact-icon { font-size: 30px; line-height: 1; animation: impactPop .55s cubic-bezier(.2,1.6,.4,1); }
@keyframes impactPop { from { transform: scale(0) rotate(-22deg); } }
.impact-body { position: relative; z-index: 2; }
.impact-line { font-family: 'Syne', sans-serif; font-weight: 700; font-size: 14px; }
.impact-line strong { font-family: 'DM Mono', monospace; font-size: 16px; }
.impact-stage.win .impact-line strong { color: var(--green); }
.impact-stage.lose .impact-line strong { color: var(--red); }
.impact-sub { font-size: 12px; color: var(--muted); margin-top: 4px; }

.ptc-layer { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.ptc { position: absolute; font-size: 15px; opacity: 0; }
.ptc.coin-fall { top: -24px; animation: coinFall 1.7s ease-in forwards; }
@keyframes coinFall { 0% { opacity: 0; transform: translateY(0) rotate(0); } 12% { opacity: 1; } 82% { opacity: 1; } 100% { opacity: 0; transform: translateY(105px) rotate(180deg); } }
.ptc.coin-fly { bottom: 2px; animation: coinFly 1.5s ease-out forwards; }
@keyframes coinFly { 0% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translate(65px, -75px) rotate(28deg); } }
.ptc.ppl-in { left: -22px; animation: pplIn 1.5s ease-out forwards; }
@keyframes pplIn { 0% { opacity: 0; } 18% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; transform: translateX(85px); } }
.ptc.ppl-out { left: 42%; animation: pplOut 1.3s ease-in forwards; }
@keyframes pplOut { 0% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; transform: translateX(130px); } }

/* ══ v2.6.5: acentos por categoría del local + lectura rápida ══ */
.biz-visual.tier-lux { border-color: rgba(212,175,55,.5); box-shadow: 0 0 0 1px rgba(212,175,55,.12), 0 8px 30px rgba(212,175,55,.06); }
.biz-visual.tier-lux .scene-sign { border-color: rgba(212,175,55,.55); box-shadow: 0 0 18px rgba(212,175,55,.25); }
.biz-visual.tier-low { border-color: rgba(120,120,120,.35); }
.biz-visual.tier-low .scene-sign { opacity: .82; filter: saturate(.7); }

.scene-room.tier-flash-up { animation: tierUp 1.25s ease-out; }
.scene-room.tier-flash-down { animation: tierDown 1.25s ease-out; }
@keyframes tierUp { 0% { filter: brightness(1); } 18% { filter: brightness(1.55) saturate(1.25); } 100% { filter: brightness(1); } }
@keyframes tierDown { 0% { filter: brightness(1); } 18% { filter: brightness(.45) saturate(.5); } 100% { filter: brightness(1); } }

/* Lectura rápida del mes */
.quick-read .qr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-top: 10px; }
.qr-card { position: relative; background: var(--surface2); border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px 14px; overflow: hidden; }
.qr-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--border); }
.qr-card.good::before { background: linear-gradient(180deg, var(--green), transparent); }
.qr-card.bad::before { background: linear-gradient(180deg, var(--red), transparent); }
.qr-card.why::before { background: linear-gradient(180deg, var(--blue, #60a5fa), transparent); }
.qr-card.focus::before { background: linear-gradient(180deg, var(--accent), transparent); }
.qr-head { display: flex; align-items: center; gap: 7px; margin-bottom: 8px; }
.qr-icon { font-size: 16px; line-height: 1; }
.qr-tag { font-family: 'Syne', sans-serif; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 1.2px; color: var(--muted); }
.qr-text { font-size: 12px; line-height: 1.5; }
.qr-why-row { display: flex; gap: 7px; font-size: 11.5px; line-height: 1.45; padding: 5px 0; border-top: 1px dashed rgba(255,255,255,.06); }
.qr-why-row:first-of-type { border-top: 0; padding-top: 0; }
.qr-why-icon { flex: 0 0 auto; }
.qr-why-row strong { font-family: 'Syne', sans-serif; }
.qr-foot { display: inline-block; margin-top: 10px; font-family: 'Syne', sans-serif; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 1px; padding: 3px 9px; border-radius: 20px; border: 1px solid var(--border); }
.qr-foot.good { color: var(--green); border-color: rgba(74,222,128,.4); background: rgba(74,222,128,.08); }
.qr-foot.bad { color: var(--red); border-color: rgba(248,113,113,.4); background: rgba(248,113,113,.08); }
.qr-foot.accent { color: var(--accent); border-color: rgba(245,200,66,.4); background: rgba(245,200,66,.07); }

/* ── Welcome Overlay ── */
.welcome-overlay {
  position: fixed; inset: 0; z-index: 300;
  background: rgba(0,0,0,.78); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  animation: fadeIn .25s ease;
}
.welcome-card {
  background: var(--surface); border: 1px solid var(--border2);
  border-radius: 18px; overflow: hidden;
  max-width: 460px; width: 92%;
  box-shadow: 0 28px 72px rgba(0,0,0,.7);
  animation: slideUp .3s ease;
}
.welcome-hero {
  height: 160px; position: relative; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px;
}
.welcome-hero.pilot-media-hero{height:260px;display:block;background:#101214 !important;}
.pilot-media-hero .welcome-hero-glow{display:none;}
.pilot-media-hero .event-media-fallback{position:absolute;inset:0;display:grid;place-items:center;}
.pilot-event-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity .24s ease;}
.pilot-event-image.is-ready{opacity:1;}
.pilot-event-image.is-unavailable{display:none;}
.pilot-media-hero::after{content:'';position:absolute;inset:68% 0 0;
  background:linear-gradient(to bottom,transparent,rgba(8,10,12,.52));pointer-events:none;}
.pilot-media-hero .welcome-hero-label{position:absolute;left:18px;bottom:14px;z-index:2;
  padding:4px 9px;border:1px solid currentColor;border-radius:99px;background:rgba(8,10,12,.76);}
.welcome-hero-glow { position: absolute; inset: 0; }
.welcome-hero-emoji { font-size: 68px; line-height: 1; position: relative; filter: drop-shadow(0 4px 18px rgba(0,0,0,.5)); }
.welcome-hero-label { position: relative; font-family: 'Syne',sans-serif; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 1.4px; opacity: .85; }
.welcome-body { padding: 22px 26px 26px; }
.welcome-greeting { font-family: 'Syne',sans-serif; font-weight: 800; font-size: 21px; color: var(--text); margin-bottom: 4px; }
.welcome-biz { font-family: 'Syne',sans-serif; font-size: 13px; font-weight: 600; color: var(--accent); margin-bottom: 14px; }
.welcome-desc { font-size: 13px; color: var(--muted); line-height: 1.65; margin-bottom: 16px; }
.welcome-stats { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; }
.welcome-stats span { font-size: 12px; font-weight: 600; padding: 4px 10px; background: var(--surface2); border: 1px solid var(--border); border-radius: 20px; color: var(--muted); }
.welcome-cta { width: 100%; text-align: center; }
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes fadeIn  { from { opacity: 0; } to { opacity: 1; } }

/* ── Event Month Splash ── */
.event-splash.no-fade { animation: none; }
.event-splash {
  position: fixed; inset: 0; z-index: 300;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,.82); backdrop-filter: blur(8px);
  animation: fadeIn .25s ease;
}
.event-splash .welcome-card{max-height:calc(100vh - 32px);overflow-y:auto;}
.event-splash.exit { animation: evSplashOut .45s ease-in forwards; }
.event-splash.exit .welcome-card { animation: evCardExit .42s ease-in forwards; }
.event-splash-mes {
  font-family: 'Syne',sans-serif; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px; color: var(--muted); margin-bottom: 6px;
}
.event-splash-title {
  font-family: 'Syne',sans-serif; font-size: 20px; font-weight: 800;
  color: var(--text); line-height: 1.2; margin-bottom: 12px;
}
.event-splash-desc { font-size: 13px; color: var(--muted); line-height: 1.65; margin-bottom: 20px; }
.event-card.landing { animation: evCardLand .7s ease-out; }
body.event-splash-active #coach-pointer { display: none !important; }
@media (max-height:760px){
  .event-splash .welcome-hero{height:118px;}
  .event-splash .welcome-hero-emoji{font-size:48px;}
  .event-splash .welcome-body{padding:16px 22px 20px;}
  .event-splash-title{font-size:18px;margin-bottom:8px;}
  .event-splash-desc{line-height:1.5;margin-bottom:14px;}
}
@keyframes evSplashOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes evCardExit  { from { opacity:1; transform:scale(1) translateY(0); } to { opacity:0; transform:scale(.28) translateY(-70px); } }
@keyframes evCardLand  { 0%{box-shadow:0 0 0 0 rgba(var(--tint),.7);} 55%{box-shadow:0 0 0 10px rgba(var(--tint),.18);} 100%{box-shadow:0 0 0 0 rgba(var(--tint),0);} }

/* ── Coach Checklist Panel ── */
#coach-panel {
  position: fixed; bottom: 64px; right: 16px; z-index: 80;
  width: 340px; background: var(--surface);
  border: 1px solid var(--border2); border-radius: 12px;
  padding: 10px 12px; box-shadow: 0 8px 28px rgba(0,0,0,.5);
  font-size: 13px;
  transition: left .22s ease, right .22s ease;
  overflow: hidden;
}
#coach-panel.coach-panel-left { right: auto; left: 306px; }
#coach-panel.collapsed .coach-details { display: none; }
.coach-compact-row { display:flex;align-items:center;gap:10px;min-height:56px; }
.coach-avatar-compact { flex:0 0 56px;width:56px;height:56px;border-radius:50%;overflow:hidden;
  background:var(--surface2);border:1px solid var(--accent); }
.coach-avatar-compact img { width:100%;height:100%;object-fit:cover; }
#coach-panel:not(.collapsed) .coach-compact-row { gap:12px;min-height:72px; }
#coach-panel:not(.collapsed) .coach-avatar-compact { flex-basis:72px;width:72px;height:72px; }
.coach-step-copy { display:flex;flex:1;min-width:0;flex-direction:column;gap:2px; }
.coach-step-meta { color:var(--muted);font-size:12px;line-height:1.2; }
.coach-next-action { color:var(--text);font-family:'Syne',sans-serif;font-weight:700;
  font-size:13px;line-height:1.25; }
.coach-details { margin-top:10px;padding-top:10px;border-top:1px solid var(--border);
  max-height:min(52vh,420px);overflow-y:auto; }
.coach-title { font-family: 'Syne',sans-serif; font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: .8px; color: var(--accent); }
.coach-count { font-family: 'DM Mono',monospace; font-size: 12px; color: var(--muted); flex-shrink: 0; white-space: nowrap; }
.coach-toggle { display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border:1px solid var(--border2);border-radius:50%;background:var(--surface2);color:var(--text);
  cursor:pointer;font:700 13px/1 'Syne',sans-serif;flex-shrink:0;transition:all .15s; }
.coach-toggle:hover { color:var(--accent);border-color:var(--accent); }
.coach-intro { font-size: 12px; color: var(--muted); margin:6px 0 10px; line-height: 1.4; }
.coach-tasks { list-style: none; margin: 0 0 9px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.coach-task { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; line-height: 1.35; }
.coach-check { flex: 0 0 auto; font-size: 12px; margin-top: 1px; }
.coach-task.done { color: var(--muted); }
.coach-task.done .coach-check { color: var(--green); }
.coach-task.pending { color: var(--text); }
.coach-task.pending .coach-check { color: var(--border2); }
.coach-task.active { color: var(--text); font-weight: 600; }
.coach-task.active .coach-check { color: var(--accent); }
.coach-info {
  margin: 10px 0;
  padding: 10px 11px;
  background: rgba(96,165,250,.08);
  border: 1px solid rgba(96,165,250,.28);
  border-radius: 8px;
  animation: fadeIn .2s ease;
}
.coach-info-head {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 5px;
  color: #93c5fd;
  font-family: 'Syne',sans-serif;
  font-size: 12px;
  font-weight: 700;
}
.coach-info-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: 'DM Mono',monospace;
  font-size: 12px;
  line-height: 1;
}
.coach-info-text { color: var(--text); font-size: 12.5px; line-height: 1.45; }
.coach-footer { font-size: 11.5px; color: var(--muted); border-top: 1px solid var(--border); padding-top: 8px; }
.coach-footer.ready { color: var(--green); font-weight: 600; }

/* ── Coach Dim Overlay: oscurece todo salvo la sección señalada ── */
#coach-dim-overlay {
  position: fixed; inset: 0; z-index: 75;
  background: rgba(0,0,0,.72);
  pointer-events: none;
  /* Sin transición: el clip-path se recalcula en cada frame mientras se
     hace scroll, y animarlo generaba un desfase visible (el recuadro
     "persigue" el contenido y recién se asienta al detener el scroll). */
  display: none;
}

/* ── Coach Pointer / mano guía ── */
.coach-pointer {
  position: fixed;
  z-index: 9998;
  pointer-events: none;
  font-size: 32px;
  line-height: 1;
  display: none;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.7));
  animation: coachHandBounce .7s ease-in-out infinite;
}
@keyframes coachHandBounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(8px); }
}

/* ── Graduation Overlay ── */
.coach-graduation {
  position: fixed; inset: 0; z-index: 290;
  background: rgba(0,0,0,.82); backdrop-filter: blur(10px);
  display: flex; align-items: center; justify-content: center;
  animation: fadeIn .3s ease;
}
.coach-grad-card {
  background: var(--surface); border: 1px solid var(--border2);
  border-radius: 18px; padding: 36px 32px 32px;
  max-width: 420px; width: 92%; text-align: center;
  box-shadow: 0 24px 64px rgba(0,0,0,.7);
  animation: slideUp .35s ease;
}
.coach-grad-icon { font-size: 56px; margin-bottom: 12px; }
.coach-grad-title { font-family: 'Syne',sans-serif; font-weight: 800; font-size: 22px; color: var(--text); margin-bottom: 10px; }
.coach-grad-sub { font-size: 13.5px; color: var(--muted); line-height: 1.6; margin-bottom: 20px; }
.coach-grad-learns { list-style: none; margin: 0 0 24px; padding: 0; background: var(--surface2); border-radius: 10px; padding: 12px 16px; text-align: left; display: flex; flex-direction: column; gap: 7px; }
.coach-grad-learns li { font-size: 12.5px; color: var(--green); }
.coach-grad-cta { width: 100%; text-align: center; }

/* ── Selección de Nivel ── */
.level-grid{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-bottom:8px;}
.level-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);
  padding:18px 20px;cursor:pointer;transition:all .2s;width:220px;text-align:left;
  display:flex;flex-direction:column;gap:10px;position:relative;}
.level-card:hover{transform:translateY(-3px);border-color:var(--accent);}
.level-card:nth-child(1):hover{border-color:#4ade80;background:rgba(74,222,128,.05);}
.level-card:nth-child(2):hover{border-color:var(--accent);background:#1c1500;}
.level-card:nth-child(3):hover{border-color:#c084fc;background:rgba(192,132,252,.05);}
.level-header{display:flex;align-items:center;gap:10px;min-width:0;}
.level-header > div{min-width:0;}
.level-icon{font-size:24px;line-height:1;flex-shrink:0;}
.level-name{font-family:'Syne',sans-serif;font-weight:800;font-size:13px;color:var(--text);white-space:nowrap;}
.level-meta{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.35;white-space:normal;overflow-wrap:anywhere;}
.level-desc{font-size:12px;color:var(--muted);line-height:1.5;}
.level-chips-preview{display:flex;flex-wrap:wrap;gap:4px;}
.lcp{font-size:12px;font-family:'Syne',sans-serif;font-weight:700;
  padding:2px 7px;border-radius:99px;background:var(--surface2);
  border:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
.level-badge{font-size:9.5px;font-family:'Syne',sans-serif;font-weight:700;
  padding:3px 8px;border-radius:99px;text-transform:uppercase;letter-spacing:.3px;
  white-space:nowrap;display:inline-block;margin-top:2px;}
.level-badge.recommended{background:rgba(74,222,128,.12);color:#4ade80;border:1px solid rgba(74,222,128,.3);}
.level-card.reco-dimmed{opacity:.45;}
body.theme-light .level-card{background:#fff;}
body.theme-light .level-card:nth-child(1):hover{background:#f0fdf4;border-color:#16a34a;}
body.theme-light .level-card:nth-child(2):hover{background:#fefce8;}
body.theme-light .level-card:nth-child(3):hover{background:#faf5ff;border-color:#9333ea;}
