@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Syne:wght@400;600;700&family=Inter:wght@300;400;500;600&display=swap');
*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#0a0a0f;--surface:#13131a;--surface2:#1c1c26;--border:#2a2a3a;
  --purple:#7F77DD;--purple-dim:#3C3489;--text:#e8e8f0;--muted:#6b6b80;
  --green:#5DCAA5;--green-bg:#0F6E5618;--red:#F09595;--red-bg:#A32D2D18;
}
html,body{height:100%;height:100dvh;}
body{background:#06060b;font-family:'Inter',sans-serif;color:var(--text);display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";}

/* Desktop: centered premium frame */
.phone{width:460px;background:var(--bg);border-radius:20px;border:1px solid var(--border);overflow:hidden;display:flex;flex-direction:column;height:90vh;max-height:900px;position:relative;}

/* Mobile: fullscreen native app */
@media(max-width:500px){
  html,body{overflow:hidden;background:var(--bg);width:100%;max-width:100%;height:100%;height:100dvh;}
  body{display:block;}
  .phone{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100svh;height:100dvh;border-radius:0;border:none;max-height:none;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);}
  .notch{display:none;}
  .navbar{padding-bottom:calc(12px + env(safe-area-inset-bottom, 0px));}
}
.notch{width:90px;height:26px;background:var(--bg);border-radius:0 0 16px 16px;margin:0 auto;border:1.5px solid var(--border);border-top:none;}
.topbar{padding:10px 20px 10px 12px;display:flex;align-items:center;justify-content:space-between;}
.logo{height:31px;width:auto;display:block;}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--purple-dim);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:#CECBF6;}
.pages-wrap{flex:1;overflow:hidden;position:relative;}
.pages-track{display:flex;height:100%;width:400%;will-change:transform;transition:transform 220ms cubic-bezier(0.25,0.46,0.45,0.94);}
.page{width:25%;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px 16px;flex-shrink:0;}
#page-check{display:flex;flex-direction:column;align-items:stretch;}
.check-inner{margin-top:auto;margin-bottom:auto;}
.sec-title{font-size:10px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:8px;}

.checklist-items{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.check-item{background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;}
.check-left{display:flex;align-items:center;gap:9px;}
.check-icon{font-size:14px;color:var(--muted);}
.check-name{font-size:12px;color:var(--text);}
.dots{display:flex;gap:3px;}
.dot{width:11px;height:11px;border-radius:50%;background:#252535;border:0.5px solid #363650;cursor:pointer;}
.dot.on{background:var(--purple);border-color:#534AB7;}
.score-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:20px;}
.score-num{font-size:20px;font-weight:600;color:var(--purple);}
.bar-bg{width:80px;height:4px;background:var(--surface2);border-radius:4px;}
.bar-fill{height:100%;border-radius:4px;background:var(--purple);transition:width 0.3s;}
.sem{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;border:2px solid;}
.sem.g{background:#0F6E5622;border-color:var(--green);color:var(--green);}
.sem.r{background:#A32D2D22;border-color:var(--red);color:var(--red);}
.sem.a{background:#854F0B22;border-color:#EF9F27;color:#EF9F27;}
.sem.n{background:var(--surface2);border-color:var(--border);color:var(--muted);}
.check-greeting{padding:10px 0 32px;text-align:center;}
.check-hello{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-0.01em;}
.check-hello-sub{font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4;}
.sem-block{display:flex;flex-direction:column;align-items:center;text-align:center;padding:4px 0 8px;}
.sem-label{font-size:10px;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px;}
.sem-block .sem{margin-bottom:8px;}
.sem-block-status{font-size:14px;font-weight:600;color:var(--text);}
.sem-block-sub{font-size:10px;color:var(--muted);margin-top:3px;}
.action-btn{width:100%;padding:12px;background:var(--purple);border:none;border-radius:12px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;}

.journal-date{font-size:15px;font-weight:600;color:var(--text);}
.jnav-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.jnav-btn{background:none;border:none;padding:6px;cursor:pointer;color:var(--muted);display:flex;align-items:center;line-height:1;-webkit-tap-highlight-color:transparent;}
.jnav-btn:disabled{opacity:0.15;cursor:default;}
.mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;}
.mood-chip{padding:8px;background:var(--surface);border:0.5px solid var(--border);border-radius:10px;font-size:11px;color:var(--muted);text-align:center;cursor:pointer;}
.mood-chip.sel{background:#3C348922;border-color:var(--purple);color:var(--purple);font-weight:500;}
textarea.j{width:100%;min-height:96px;background:var(--surface);border:0.5px solid var(--border);border-radius:10px;padding:12px;font-size:12px;color:var(--text);resize:none;outline:none;margin-bottom:16px;line-height:1.6;}
textarea.j::placeholder{color:var(--muted);}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;}
.mini-card{background:var(--surface);border:0.5px solid var(--border);border-radius:10px;padding:9px 11px;}
.mini-label{font-size:10px;color:var(--muted);margin-bottom:3px;}
.mini-val{font-size:15px;font-weight:600;}
.mini-val.pos{color:var(--green);}.mini-val.neg{color:var(--red);}.mini-val.neu{color:var(--purple);}

.acc-list{display:flex;flex-direction:column;gap:7px;margin-bottom:12px;}
.acc-card{background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:11px 13px;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.acc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;}
.acc-name-wrap{display:flex;align-items:center;gap:7px;min-width:0;flex:1;}
.firm-badge{font-size:9px;font-weight:500;padding:2px 6px;border-radius:20px;background:#3C348922;color:#AFA9EC;border:0.5px solid var(--purple-dim);letter-spacing:0.04em;max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle;}
.acc-name{font-size:12px;font-weight:500;color:var(--text);}
.acc-pnl{font-size:13px;font-weight:600;}
.acc-pnl.pos{color:var(--green);}.acc-pnl.neg{color:var(--red);}
.acc-bal-cur{font-size:10px;color:var(--muted);line-height:1;}
.draw-wrap{display:flex;flex-direction:column;gap:4px;}
.draw-row{display:flex;align-items:center;gap:7px;}
.draw-label{font-size:10px;color:var(--muted);width:52px;flex-shrink:0;}
.draw-bg{flex:1;height:4px;background:var(--surface2);border-radius:4px;overflow:hidden;}
.draw-fill{height:100%;border-radius:4px;transition:width 0.3s ease;}
.draw-pct{font-size:10px;color:var(--muted);width:26px;text-align:right;flex-shrink:0;}
.draw-status{font-size:9px;font-weight:500;padding:1px 5px;border-radius:4px;white-space:nowrap;flex-shrink:0;}
.draw-status.healthy{background:#0F6E5618;color:var(--green);}
.draw-status.warning{background:#854F0B18;color:#EF9F27;}
.draw-status.critical{background:#A32D2D22;color:var(--red);}
.draw-status.burned{background:#64646E18;color:#8A8A96;}
.draw-limits{display:flex;gap:12px;}
.draw-lim-item{font-size:9px;color:var(--muted);}
.draw-lim-val{font-size:9px;color:var(--text);font-weight:500;}
.prog-row{}
.acc-dd-select{background:var(--surface2);border:0.5px solid var(--border);border-radius:7px;padding:4px 22px 4px 8px;color:var(--text);font-size:11px;font-family:'Inter',sans-serif;outline:none;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%236b6b80' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;cursor:pointer;}
.sum-card{background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:11px 13px;margin-bottom:12px;}
.sum-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;border-bottom:0.5px solid var(--border);}
.sum-row:last-child{border-bottom:none;}
.sum-key{font-size:11px;color:var(--muted);}
.sum-val{font-size:11px;font-weight:500;color:var(--text);}
.sum-val.pos{color:var(--green);}.sum-val.neg{color:var(--red);}
.sum-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:11px 13px;cursor:pointer;margin-bottom:12px;-webkit-tap-highlight-color:transparent;text-align:left;}
.sum-trigger:active{opacity:0.7;}
.sum-trigger-label{font-size:10px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;}
.sum-trigger-chev{stroke:var(--muted);opacity:0.5;flex-shrink:0;}
.acc-chevron{flex-shrink:0;stroke:var(--text);fill:none;transition:transform 0.25s ease;}
.acc-card.open .acc-chevron{transform:rotate(180deg);stroke:var(--purple);}
.acc-card.open{border-color:var(--purple-dim);}
.acc-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height 0.32s ease,opacity 0.22s ease;}
.acc-card.open .acc-detail{max-height:360px;opacity:1;}
.acc-detail-inner{background:var(--bg);border:0.5px solid var(--border);border-radius:9px;padding:12px;margin-top:12px;}
.acc-detail-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:0.5px solid var(--border);}
.acc-detail-row:last-child{border-bottom:none;padding-bottom:0;}
.acc-detail-key{font-size:10px;color:var(--muted);letter-spacing:0.03em;}
.acc-field{background:transparent;border:none;border-bottom:0.5px solid var(--border);color:var(--text);font-size:11px;font-weight:500;font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;text-align:right;outline:none;padding:2px 0;width:90px;-webkit-tap-highlight-color:transparent;}
.acc-field::placeholder{color:var(--muted);opacity:1;}
.acc-field:focus{border-bottom-color:var(--purple);}
.acc-field::-webkit-inner-spin-button,.acc-field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.acc-type-row{margin-bottom:8px;padding-bottom:8px;border-bottom:0.5px solid var(--border);}
.acc-type-wrap{display:flex;gap:4px;margin-top:5px;}
.acc-type-btn{flex:1;padding:5px 0;background:var(--surface);border:0.5px solid var(--border);border-radius:6px;font-size:10px;color:var(--muted);cursor:pointer;font-family:'Inter',sans-serif;letter-spacing:0.02em;-webkit-tap-highlight-color:transparent;}
.acc-type-btn.active{background:#3C348922;border-color:var(--purple-dim);color:var(--purple);}
.firm-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0;}
.firm-select{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px;-webkit-appearance:none;}
.acc-fab{position:absolute;bottom:calc(68px + env(safe-area-inset-bottom,0px));right:16px;width:54px;height:54px;border-radius:50%;background:var(--purple);border:none;color:#fff;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(127,119,221,0.40);z-index:10;transition:transform 0.15s ease,box-shadow 0.15s ease;-webkit-tap-highlight-color:transparent;}
.acc-fab.show{display:flex;}
.acc-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(127,119,221,0.55);}
.acc-fab:active{transform:scale(0.92);}

.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.cal-month{font-size:14px;font-weight:600;color:var(--text);}
.cal-nav{display:flex;gap:6px;}
.cal-nav-btn{background:var(--surface);border:0.5px solid var(--border);border-radius:7px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted);font-size:13px;}
.cal-nav-btn:hover{border-color:var(--purple);color:var(--purple);}
.cal-stats{display:flex;gap:6px;margin-bottom:10px;}
.cal-pill{font-size:10px;padding:2px 8px;border-radius:20px;font-weight:500;}
.cal-pill.g{background:var(--green-bg);color:var(--green);border:0.5px solid #5DCAA540;}
.cal-pill.r{background:var(--red-bg);color:var(--red);border:0.5px solid #F0959540;}
.cal-pill.n{background:var(--surface);color:var(--muted);border:0.5px solid var(--border);}
.wdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:3px;}
.wd{text-align:center;font-size:9px;color:var(--muted);padding:3px 0;letter-spacing:0.05em;}
.cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.dcell{height:42px;border-radius:7px;background:var(--surface);border:0.5px solid var(--border);padding:4px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;position:relative;}
.dcell:hover{border-color:var(--purple);}
.dcell.empty{background:transparent;border-color:transparent;cursor:default;pointer-events:none;}
.dcell.today{border-color:var(--purple);}
.dcell.gday{background:var(--green-bg);border-color:#5DCAA530;}
.dcell.rday{background:var(--red-bg);border-color:#F0959530;}
.dnum{font-size:9px;font-weight:500;color:var(--muted);line-height:1;flex-shrink:0;}
.dcell.today .dnum{color:var(--purple);}
.dpnl{font-size:10px;font-weight:500;line-height:1;margin-top:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dpnl.pos{color:var(--green);}.dpnl.neg{color:var(--red);}
.dnote-dot{width:4px;height:4px;border-radius:50%;background:var(--purple);position:absolute;top:4px;right:4px;}

.chart-area{margin-top:10px;background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:12px;}
.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;}
.chart-title{font-size:12px;font-weight:500;color:var(--text);}
.chart-pnl{font-size:13px;font-weight:600;}
.chart-pnl.pos{color:var(--green);}.chart-pnl.neg{color:var(--red);}
.chart-meta{font-size:10px;color:var(--muted);margin-bottom:8px;}
.chart-period-tabs{display:flex;gap:4px;margin-bottom:8px;}
.cptab{font-size:10px;padding:3px 8px;border-radius:6px;cursor:pointer;color:var(--muted);background:var(--surface2);border:0.5px solid var(--border);}
.cptab.active{background:#3C348922;color:var(--purple);border-color:var(--purple);}
.main-chart{width:100%;height:90px;}
.hint{font-size:9px;color:var(--muted);text-align:center;margin-top:8px;line-height:1.5;}
/* ── Memoria Operativa ─────────────────────────────────────────────────── */
.mo-section{margin-bottom:20px;}
.mo-label{font-size:9px;font-weight:500;letter-spacing:0.20em;text-transform:uppercase;color:var(--muted);opacity:0.55;margin-bottom:8px;}
.mo-card{background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:14px 16px;}
.mo-card.mo-state-a{border-left:2px solid var(--red);}
.mo-card.mo-state-a .mo-risk{color:var(--red);}
.mo-card.mo-state-b{border-left:2px solid var(--purple);}
.mo-card.mo-state-success{border-left:2px solid var(--green);}
.mo-card.mo-state-success .mo-risk{color:var(--green);opacity:1;}
.mo-risk{font-size:9.5px;font-weight:600;letter-spacing:0.28em;text-transform:uppercase;color:var(--purple);opacity:0.70;margin-bottom:10px;}
.mo-obs{font-size:14.5px;font-weight:400;line-height:1.65;color:var(--text);}
.mo-memory{font-size:13px;font-weight:400;line-height:1.55;color:var(--muted);margin-top:9px;}
.mo-sep{border:none;border-top:0.5px solid var(--border);margin:12px 0;}
.mo-anchor{font-size:13px;font-weight:400;line-height:1.55;color:var(--muted);}
.mo-card.mo-context .mo-risk{color:var(--muted);}

.navbar{display:flex;border-top:0.5px solid var(--border);background:var(--surface);padding:9px 0 12px;flex-shrink:0;}
.nitem{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--muted);font-size:8px;letter-spacing:0.04em;text-transform:uppercase;}
.nitem.active{color:var(--purple);}
.nitem i{font-size:21px;}
.tools-desc{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:16px;}
.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.tool-item{aspect-ratio:1/1;background:var(--surface);border:0.5px solid var(--border);border-radius:14px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:14px;background-size:cover;background-position:center;}
.tool-item::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 65% 15%,rgba(127,119,221,0.09) 0%,transparent 65%);pointer-events:none;}
.tool-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(to top,rgba(10,10,15,0.92) 0%,transparent 100%);pointer-events:none;}
.tool-item-name{position:relative;z-index:1;font-size:12px;font-weight:500;color:var(--text);line-height:1.3;letter-spacing:0.01em;}
.tool-bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden;}
.tool-bg svg{width:82%;height:82%;opacity:0.08;filter:blur(1.5px);}
.tool-radar{border-color:rgba(127,119,221,0.30);}
.tool-radar .tool-bg svg{opacity:0.13;}
.tool-mochat .tool-bg svg{opacity:0.10;}

.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.78);display:flex;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);user-select:none;-webkit-user-select:none;}
.mbtn-save,.mbtn-cancel,.eval-btn,.m-mood-chip{-webkit-user-select:auto;user-select:auto;}
.modal{background:var(--surface);border:0.5px solid var(--border);border-radius:16px;padding:17px 16px;width:272px;}
.modal-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:13px;}
.modal textarea{width:100%;background:var(--surface2);border:0.5px solid var(--border);border-radius:9px;padding:9px 10px;color:var(--text);font-size:12px;resize:none;outline:none;height:86px;margin-bottom:10px;line-height:1.6;}
.modal textarea::placeholder{color:var(--muted);}
.pnl-row{display:flex;gap:8px;margin-bottom:10px;}
.pnl-in{flex:1;min-width:0;background:var(--surface2);border:0.5px solid var(--border);border-radius:9px;padding:7px 9px;color:var(--text);font-size:13px;font-weight:600;outline:none;}
.pnl-in::placeholder{color:var(--muted);}
.acc-pick-wrap{position:relative;margin-bottom:10px;}
.acc-pick-wrap.open .acc-pick-trigger{border-color:var(--purple);}
.acc-pick-trigger{display:flex;align-items:center;gap:6px;background:var(--surface2);border:0.5px solid var(--border);border-radius:9px;padding:7px 10px;cursor:pointer;transition:border-color 0.15s;}
.acc-pick-trigger:active{opacity:0.75;}
.acc-pick-label{flex:1;font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.acc-pick-label.has-val{color:var(--text);}
.acc-pick-chev{font-size:14px;color:var(--muted);flex-shrink:0;transition:transform 0.18s;}
.acc-pick-list{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:0.5px solid var(--border);border-radius:9px;z-index:50;box-shadow:0 8px 28px rgba(0,0,0,0.45);overflow-y:auto;max-height:160px;-webkit-overflow-scrolling:touch;}
.acc-pick-list.open{display:block;animation:accPickIn 0.14s ease both;}
@keyframes accPickIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
.acc-pick-row{padding:9px 10px;font-size:12px;color:var(--text);cursor:pointer;border-bottom:0.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.acc-pick-row:last-child{border-bottom:none;}
.acc-pick-row:active{background:var(--surface2);}
.acc-pick-row.selected{color:var(--purple);}
.acc-pick-row.none-opt{color:var(--muted);}
.acc-pick-row.disabled{pointer-events:none;font-style:italic;opacity:0.5;}
.acc-pick-ck{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--border);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:8px;color:transparent;transition:background 0.12s,border-color 0.12s,color 0.12s;}
.acc-pick-row.selected .acc-pick-ck{background:var(--purple);border-color:var(--purple);color:#fff;}
.day-eval{margin-bottom:12px;}
.day-eval-label{font-size:10px;color:var(--muted);margin-bottom:8px;letter-spacing:0.06em;text-transform:uppercase;}
.eval-row{display:flex;gap:8px;}
.eval-btn{flex:1;padding:6px 0;border-radius:20px;font-size:11px;font-weight:400;cursor:pointer;border:0.5px solid var(--border);background:transparent;color:var(--muted);transition:background 0.15s,color 0.15s,border-color 0.15s,font-weight 0.15s;letter-spacing:0.01em;}
.eval-btn.active-green{background:#0F6E5622;color:var(--green);border-color:var(--green);font-weight:500;}
.eval-btn.active-red{background:#A32D2D22;color:var(--red);border-color:var(--red);font-weight:500;}
.m-mood-section{margin-bottom:20px;}
.m-mood-label{font-size:10px;color:var(--muted);margin-bottom:8px;letter-spacing:0.06em;text-transform:uppercase;}
.m-mood-chips{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.m-mood-chip{background:transparent;border:0.5px solid var(--border);border-radius:20px;padding:6px 10px;font-size:11px;color:var(--muted);font-family:'Inter',sans-serif;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 0.12s,color 0.12s,border-color 0.12s;text-align:center;}
.m-mood-chip.sel{background:rgba(127,119,221,0.10);border-color:rgba(127,119,221,0.45);color:var(--purple);}
.mactions{display:flex;gap:6px;}
.mbtn-save{flex:1;padding:8px;background:var(--purple);border:none;border-radius:9px;font-size:12px;font-weight:500;color:#fff;cursor:pointer;}
.mbtn-cancel{padding:8px 10px;background:var(--surface2);border:0.5px solid var(--border);border-radius:9px;font-size:11px;color:var(--muted);cursor:pointer;}
.jnote{background:var(--surface2);border-radius:9px;padding:9px;font-size:11px;color:var(--text);line-height:1.6;margin-bottom:10px;min-height:50px;border:0.5px solid var(--border);}
.jmodal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.jdate{font-size:12px;font-weight:600;color:var(--purple);}
.jpnl{font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;}
.jpnl.pos{background:var(--green-bg);color:var(--green);}
.jpnl.neg{background:var(--red-bg);color:var(--red);}
@keyframes modalIn{from{opacity:0;transform:translateY(14px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}
.overlay .modal{animation:modalIn 0.22s cubic-bezier(0.34,1.1,0.64,1) both;}
.acc-create-modal{width:min(292px,calc(100vw - 36px));max-height:82vh;overflow-y:auto;padding:18px 16px;}
.acc-form-row{margin-bottom:10px;}
.acc-form-label{font-size:9px;color:var(--muted);letter-spacing:0.07em;text-transform:uppercase;display:block;margin-bottom:5px;}
.acc-form-input,.acc-form-select{width:100%;background:var(--surface2);border:0.5px solid var(--border);border-radius:9px;padding:8px 11px;color:var(--text);font-size:12px;font-family:'Inter',sans-serif;outline:none;-webkit-appearance:none;appearance:none;}
.acc-form-input:focus,.acc-form-select:focus{border-color:var(--purple);}
.acc-form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%236b6b80' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;cursor:pointer;}
.acc-del-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:3px;display:flex;align-items:center;opacity:0.45;-webkit-tap-highlight-color:transparent;flex-shrink:0;transition:opacity 0.15s,color 0.15s;}
.acc-del-btn:hover,.acc-del-btn:active{color:var(--red);opacity:1;}
.acc-confirm-btn{width:100%;margin-top:10px;padding:8px;background:transparent;border:0.5px solid var(--green);border-radius:9px;font-size:12px;font-weight:500;color:var(--green);cursor:pointer;opacity:0.80;letter-spacing:0.01em;}
.acc-confirm-btn:active{opacity:1;background:#0F6E5618;}
.acc-card.failed{border-color:#A32D2D44;background:#A32D2D08;}
.acc-failed-badge{font-size:9px;font-weight:500;padding:2px 6px;border-radius:20px;background:#A32D2D18;color:var(--red);border:0.5px solid #A32D2D44;letter-spacing:0.04em;white-space:nowrap;display:inline-block;vertical-align:middle;}
.acc-fail-btn{width:100%;margin-top:10px;padding:8px;background:transparent;border:0.5px solid var(--red);border-radius:9px;font-size:12px;font-weight:500;color:var(--red);cursor:pointer;opacity:0.60;letter-spacing:0.01em;}
.acc-fail-btn:active{opacity:1;background:#A32D2D18;}
.acc-mark-failed-btn{display:block;margin-left:auto;margin-top:10px;padding:5px 9px;background:transparent;border:0.5px solid var(--red);border-radius:999px;font-size:10px;color:var(--red);cursor:pointer;opacity:0.65;letter-spacing:0.01em;}
.acc-mark-failed-btn:active{opacity:1;background:#A32D2D18;}

.j-accs-wrap{background:var(--surface);border:0.5px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden;}
.j-accs-row{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;-webkit-tap-highlight-color:transparent;}
.j-accs-wrap.has-accs .j-accs-row{cursor:pointer;}
.j-accs-label{font-size:10px;color:var(--muted);letter-spacing:0.05em;text-transform:uppercase;}
.j-accs-right{display:flex;align-items:center;gap:5px;}
.j-accs-summary{font-size:11px;color:var(--muted);}
.j-accs-summary.has-val{color:var(--text);font-weight:500;}
.j-accs-chev{display:none;stroke:var(--muted);transition:transform 0.2s ease;flex-shrink:0;}
.j-accs-wrap.has-accs .j-accs-chev{display:block;}
.j-accs-wrap.open .j-accs-chev{transform:rotate(180deg);}
.j-accs-list{max-height:0;overflow:hidden;transition:max-height 0.25s ease;}
.j-accs-wrap.open .j-accs-list{max-height:200px;}
.j-accs-item{padding:7px 11px;font-size:11px;color:var(--text);border-top:0.5px solid var(--border);}

/* ── Splash screen ─────────────────────────────────────────────────────────── */
#splash{position:fixed;inset:0;z-index:9999;background:#0F1118;display:flex;align-items:center;justify-content:center;animation:splashIn 0.3s ease backwards;transition:opacity 0.4s ease;}
#splash img{width:92vw;min-width:260px;max-width:480px;max-height:65vh;height:auto;display:block;object-fit:contain;user-select:none;-webkit-user-drag:none;}
@keyframes splashIn{from{opacity:0;}to{opacity:1;}}

/* ── Onboarding overlay ────────────────────────────────────────────────────── */
#ob-root{
  --ob-purple-mid:#5C55B8;--ob-muted-dim:#3a3a4a;
  --ob-f-display:'Cormorant Garamond',Georgia,serif;
  --ob-f-brand:'Syne',system-ui,sans-serif;
  --ob-f-body:'Inter',-apple-system,system-ui,sans-serif;
  --ob-sat:env(safe-area-inset-top,44px);--ob-sab:env(safe-area-inset-bottom,34px);
  --ob-sal:env(safe-area-inset-left,0px);--ob-sar:env(safe-area-inset-right,0px);
  position:fixed;inset:0;z-index:500;display:flex;justify-content:center;overflow:hidden;
  background:var(--bg);color:var(--text);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  transition:opacity 0.5s ease;
}
#ob-root.ob-fade-out{opacity:0;pointer-events:none;}
.ob-track{position:relative;width:min(390px,100vw);height:100%;}
.ob-screen{
  position:absolute;inset:0;display:flex;flex-direction:column;
  padding-top:calc(var(--ob-sat) + 64px);padding-bottom:calc(var(--ob-sab) + 112px);
  padding-left:calc(var(--ob-sal) + 40px);padding-right:calc(var(--ob-sar) + 40px);
  opacity:0;pointer-events:none;
  transition:opacity 0.65s cubic-bezier(0.4,0,0.2,1);will-change:opacity;overflow:hidden;
}
.ob-screen.active{opacity:1;pointer-events:auto;}
.ob-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.ob-bg svg{width:100%;height:100%;}
@keyframes ob-breathe{0%,100%{transform:scale(1) translateY(0);}50%{transform:scale(1.04) translateY(-14px);}}
.ob-bg-el{transform-origin:50% 55%;animation:ob-breathe 18s ease-in-out infinite;}
@keyframes ob-rise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
.ob-ai{opacity:0;}
.ob-screen.active .ob-ai{animation:ob-rise 0.8s cubic-bezier(0.22,1,0.36,1) forwards;}
.ob-ai[data-d="1"]{animation-delay:0.10s;}.ob-ai[data-d="2"]{animation-delay:0.24s;}
.ob-ai[data-d="3"]{animation-delay:0.38s;}.ob-ai[data-d="4"]{animation-delay:0.52s;}
.ob-ai[data-d="5"]{animation-delay:0.66s;}.ob-ai[data-d="6"]{animation-delay:0.80s;}
/* screen 1 */
.ob-s1-top{display:flex;flex-direction:column;align-items:center;gap:16px;}
.ob-s1-wordmark{font-family:var(--ob-f-brand);font-size:10px;font-weight:600;letter-spacing:0.40em;text-transform:uppercase;color:var(--muted);}
.ob-s1-spacer{flex:1;}
.ob-s1-values{margin-bottom:38px;}
.ob-s1-val{font-family:var(--ob-f-display);font-size:clamp(44px,12vw,54px);font-weight:300;line-height:1.0;letter-spacing:-0.015em;color:var(--text);display:block;}
.ob-s1-val+.ob-s1-val{margin-top:1px;}
.ob-s1-dot{color:var(--purple);}
.ob-s1-sub{font-family:var(--ob-f-body);font-size:14px;font-weight:400;line-height:1.85;color:var(--muted);letter-spacing:0.01em;}
/* screens 2-4 */
.ob-s-push{flex:1;min-height:0;}
.ob-s-label{font-family:var(--ob-f-brand);font-size:9.5px;font-weight:600;letter-spacing:0.30em;text-transform:uppercase;color:var(--purple);opacity:0.60;margin-bottom:26px;}
.ob-s-head{font-family:var(--ob-f-display);font-size:clamp(34px,9.5vw,42px);font-weight:300;line-height:1.20;letter-spacing:-0.01em;color:var(--text);margin-bottom:28px;}
.ob-s-head em{font-style:italic;color:rgba(232,232,240,0.45);}
.ob-s-body{font-family:var(--ob-f-body);font-size:14.5px;font-weight:400;line-height:1.90;color:var(--muted);}
.ob-s-body strong{color:var(--text);font-weight:500;}
.ob-s-benefit{font-family:var(--ob-f-body);font-size:13px;font-weight:400;line-height:1.65;color:var(--muted);margin-top:20px;letter-spacing:0.015em;}
/* screen 5 */
.ob-s5-push{flex:1;min-height:0;}
.ob-s5-head{font-family:var(--ob-f-display);font-size:clamp(36px,10vw,44px);font-weight:300;line-height:1.16;letter-spacing:-0.012em;color:var(--text);margin-bottom:52px;}
.ob-s5-head strong{font-weight:500;color:var(--purple);display:block;margin-top:32px;}
.ob-s5-cta{display:block;width:100%;padding:18px 24px;background:var(--purple);border:none;border-radius:13px;font-family:var(--ob-f-brand);font-size:14.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:#fff;cursor:pointer;transition:background 0.18s ease,transform 0.15s ease;-webkit-tap-highlight-color:transparent;}
.ob-s5-cta:active{background:var(--ob-purple-mid);transform:scale(0.975);}
.ob-s5-note{margin-top:20px;font-family:var(--ob-f-body);font-size:11px;font-weight:400;letter-spacing:0.05em;color:var(--ob-muted-dim);text-align:center;}
/* progress dots */
.ob-dots{position:absolute;bottom:calc(var(--ob-sab) + 52px);left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center;z-index:30;}
.ob-dot{height:5px;width:5px;border-radius:3px;background:var(--muted);opacity:0.28;transition:width 0.45s cubic-bezier(0.34,1.56,0.64,1),opacity 0.30s ease,background 0.30s ease;cursor:pointer;}
.ob-dot.on{width:22px;background:var(--purple);opacity:1;}
/* skip */
.ob-skip{position:absolute;top:calc(var(--ob-sat) + 18px);right:calc(var(--ob-sar) + 24px);font-family:var(--ob-f-body);font-size:11px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted);opacity:0.50;background:none;border:none;cursor:pointer;padding:8px 4px;z-index:30;transition:opacity 0.20s;-webkit-tap-highlight-color:transparent;}
.ob-skip:hover{opacity:0.85;}
.ob-skip.gone{opacity:0;pointer-events:none;}

/* ── Setup flow ──────────────────────────────────────────────────────────── */
#setup-root{
  --s-sat:env(safe-area-inset-top,44px);--s-sab:env(safe-area-inset-bottom,34px);
  --s-sal:env(safe-area-inset-left,0px);--s-sar:env(safe-area-inset-right,0px);
  position:fixed;inset:0;z-index:400;display:none;
  background:var(--bg);color:var(--text);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  transition:opacity 0.5s ease;
}
#setup-root::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 45% at 50% 10%,rgba(127,119,221,0.07) 0%,transparent 70%);}
#setup-root.setup-visible{display:flex;justify-content:center;overflow:hidden;}
#setup-root.setup-fade-out{opacity:0;pointer-events:none;}
.setup-track{position:relative;width:min(390px,100vw);height:100%;}
/* progress bar */
.setup-bar{position:absolute;top:0;left:0;height:2px;background:var(--purple);border-radius:0 2px 2px 0;transition:width 0.45s cubic-bezier(0.4,0,0.2,1);z-index:10;opacity:0.8;}
/* screens */
.setup-screen{
  position:absolute;inset:0;display:flex;flex-direction:column;
  padding-top:calc(var(--s-sat) + 88px);padding-bottom:calc(var(--s-sab) + 52px);
  padding-left:calc(var(--s-sal) + 32px);padding-right:calc(var(--s-sar) + 32px);
  opacity:0;pointer-events:none;transition:opacity 0.4s ease;
}
.setup-screen.active{opacity:1;pointer-events:auto;}
/* entry animations */
@keyframes setup-rise{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.setup-screen.active .setup-heading{animation:setup-rise 0.55s cubic-bezier(0.22,1,0.36,1) 0.06s both;}
.setup-screen.active .setup-content{animation:setup-rise 0.55s cubic-bezier(0.22,1,0.36,1) 0.16s both;}
.setup-screen.active .setup-actions{animation:setup-rise 0.55s cubic-bezier(0.22,1,0.36,1) 0.26s both;}
/* heading */
.setup-heading{margin-bottom:32px;}
.setup-step{font-family:'Syne',sans-serif;font-size:9.5px;font-weight:600;letter-spacing:0.30em;text-transform:uppercase;color:var(--purple);opacity:0.55;margin-bottom:16px;}
.setup-title{font-family:'Syne',sans-serif;font-size:27px;font-weight:700;line-height:1.22;letter-spacing:-0.01em;color:var(--text);margin-bottom:10px;}
.setup-sub{font-family:'Inter',sans-serif;font-size:13.5px;font-weight:400;line-height:1.75;color:var(--muted);}
/* content area */
.setup-content{flex:1;display:flex;flex-direction:column;justify-content:flex-start;}
/* name input */
.setup-input{width:100%;background:var(--surface);border:0.5px solid var(--border);border-radius:13px;padding:16px 18px;font-family:'Inter',sans-serif;font-size:17px;font-weight:400;color:var(--text);outline:none;-webkit-appearance:none;appearance:none;}
.setup-input::placeholder{color:var(--muted);opacity:1;}
.setup-input:focus{border-color:var(--purple);}
/* option chips */
.setup-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.setup-options.col1{grid-template-columns:1fr;}
.setup-option{background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:15px 12px;font-family:'Inter',sans-serif;font-size:13px;font-weight:400;color:var(--muted);cursor:pointer;text-align:center;line-height:1.3;-webkit-tap-highlight-color:transparent;transition:border-color 0.15s,color 0.15s,background 0.15s;user-select:none;}
.setup-option.full{grid-column:1/-1;}
.setup-option:active{opacity:0.72;}
.setup-option.sel{background:#3C348920;border-color:var(--purple);color:var(--purple);font-weight:500;}
/* actions */
.setup-actions{margin-top:28px;}
.setup-btn{display:block;width:100%;padding:16px 24px;background:var(--purple);border:none;border-radius:13px;font-family:'Syne',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:#fff;cursor:pointer;transition:background 0.18s ease,transform 0.15s ease;-webkit-tap-highlight-color:transparent;}
.setup-btn:active{background:#5C55B8;transform:scale(0.975);}
/* setup skip */
.setup-skip{position:absolute;top:calc(var(--s-sat) + 18px);right:calc(var(--s-sar) + 24px);font-family:'Inter',sans-serif;font-size:11px;font-weight:500;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted);opacity:0.50;background:none;border:none;cursor:pointer;padding:8px 4px;z-index:30;transition:opacity 0.20s;-webkit-tap-highlight-color:transparent;}
.setup-skip:hover{opacity:0.85;}
.setup-skip.gone{opacity:0;pointer-events:none;}
/* setup otro overlay */
#setup-otro-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.78);display:none;align-items:center;justify-content:center;z-index:50;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.setup-otro-box{background:var(--surface);border:0.5px solid var(--border);border-radius:16px;padding:20px 18px;width:min(280px,calc(100vw - 48px));}
.setup-otro-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:14px;}
.setup-otro-input{width:100%;background:var(--surface2);border:0.5px solid var(--border);border-radius:9px;padding:10px 12px;color:var(--text);font-size:15px;font-family:'Inter',sans-serif;outline:none;-webkit-appearance:none;appearance:none;margin-bottom:14px;}
.setup-otro-input:focus{border-color:var(--purple);}
.setup-otro-input::placeholder{color:var(--muted);}
.setup-otro-actions{display:flex;gap:8px;}
.setup-otro-cancel{flex:0 0 auto;padding:10px 14px;background:var(--surface2);border:0.5px solid var(--border);border-radius:9px;font-size:12px;color:var(--muted);cursor:pointer;font-family:'Inter',sans-serif;-webkit-tap-highlight-color:transparent;}
.setup-otro-confirm{flex:1;padding:10px;background:var(--purple);border:none;border-radius:9px;font-size:12px;font-weight:600;color:#fff;cursor:pointer;font-family:'Inter',sans-serif;-webkit-tap-highlight-color:transparent;}

/* ── Profile panel ──────────────────────────────────────────────────────── */
#page-profile,#page-asistencia,#page-legal,#page-nombre,#page-doc,#page-radar,#page-axis-detail,#page-mochat,#page-mochat-view,#page-mapa-errores{position:absolute;inset:0;background:var(--bg);display:flex;flex-direction:column;transform:translateX(100%);transition:transform 220ms cubic-bezier(0.25,0.46,0.45,0.94);will-change:transform;}
#page-profile{z-index:50;}
#page-radar{z-index:55;}
#page-mapa-errores{z-index:56;}
/* ── Mapa de Errores ────────────────────────────────────────────────────── */
#page-mapa-errores{--map-blue:#5B8DEE;background:linear-gradient(180deg,#07111f 0%,#050914 100%);}
.brain-selector{flex:1;display:flex;flex-direction:column;align-items:center;overflow:hidden;}
.brain-stage{position:relative;flex:1;display:flex;align-items:center;justify-content:center;width:100%;min-height:0;overflow:hidden;}
.brain-stage::before{content:'';position:absolute;top:0;left:0;right:0;height:80px;background:linear-gradient(to bottom,#07111f 0%,transparent 100%);z-index:4;pointer-events:none;}
.brain-stage::after{content:'';position:absolute;bottom:0;left:0;right:0;height:110px;background:linear-gradient(to top,#07111f 0%,transparent 100%);z-index:4;pointer-events:none;}
.brain-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;pointer-events:none;z-index:0;}
.brain-img{position:relative;z-index:2;width:65%;max-width:260px;height:auto;object-fit:contain;filter:drop-shadow(0 0 24px rgba(91,141,238,0.42)) drop-shadow(0 0 70px rgba(91,141,238,0.15));user-select:none;pointer-events:none;display:block;}
@keyframes brain-appear{from{opacity:0.5;transform:scale(0.96);}to{opacity:1;transform:scale(1);}}
.brain-img.brain-appear{animation:brain-appear 220ms ease-out both;}
.brain-highlight-img{display:none;}
.brain-zone-info{text-align:center;padding:16px 28px 0;flex-shrink:0;width:100%;box-sizing:border-box;min-height:122px;}
.brain-zone-index{font-size:10px;font-weight:500;letter-spacing:0.14em;color:rgba(91,141,238,0.55);text-transform:uppercase;display:block;margin-bottom:10px;}
.brain-zone-name{font-family:'Syne',sans-serif;font-size:21px;font-weight:700;color:#F4F7FB;margin:0 0 10px;letter-spacing:-0.01em;transition:opacity 160ms ease;line-height:1.2;min-height:26px;}
.brain-zone-desc{font-size:12.5px;line-height:1.65;color:rgba(244,247,251,0.58);margin:0;transition:opacity 160ms ease;min-height:44px;}
.brain-zone-name.switching,.brain-zone-desc.switching{opacity:0;}
.brain-nav{display:flex;align-items:center;justify-content:center;gap:12px;flex-shrink:0;width:100%;padding:16px 24px 32px;box-sizing:border-box;}
.brain-arrow{width:46px;height:46px;background:rgba(91,141,238,0.10);border:0.5px solid rgba(91,141,238,0.25);border-radius:50%;color:#F4F7FB;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;padding:0;}
.brain-arrow:active{background:rgba(91,141,238,0.22);}
.brain-explore{flex:1;padding:14px 20px;background:var(--map-blue);border:none;border-radius:12px;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;color:#fff;cursor:pointer;letter-spacing:0.01em;-webkit-tap-highlight-color:transparent;}
.brain-explore:active{opacity:0.82;}
.zone-detail{position:absolute;inset:0;z-index:20;background:linear-gradient(160deg,#07111f 0%,#050914 100%);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(10px) scale(0.985);pointer-events:none;transition:opacity 210ms ease,transform 210ms ease;}
.zone-detail::before{content:'';position:absolute;top:0;left:0;right:0;height:180px;background:radial-gradient(ellipse 70% 100% at 50% 0%,rgba(91,141,238,0.18) 0%,transparent 100%);pointer-events:none;z-index:0;}
.zone-detail.open{opacity:1;transform:none;pointer-events:auto;}
.zone-detail .prof-topbar{border-bottom-color:rgba(91,141,238,0.20);position:relative;z-index:1;}
.zone-detail .prof-title{color:#F4F7FB;font-size:14px;}
.zone-detail-body{flex:1;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:16px;position:relative;z-index:1;}
.zone-detail-desc{font-size:14px;line-height:1.75;color:rgba(244,247,251,0.78);margin:0;background:rgba(91,141,238,0.08);border:0.5px solid rgba(91,141,238,0.22);border-radius:14px;padding:18px 16px;}
.zone-detail-empty{background:rgba(91,141,238,0.05);border:0.5px solid rgba(91,141,238,0.16);border-radius:14px;padding:28px 20px;text-align:center;}
.zone-detail-empty p{font-size:13px;color:rgba(91,141,238,0.50);margin:0;}
#page-asistencia,#page-legal{z-index:60;}
#page-nombre{z-index:70;}
#page-doc{z-index:80;}
#page-axis-detail{z-index:85;}
#page-mochat{z-index:90;}
#page-mochat-view{z-index:91;}
#page-profile.open,#page-asistencia.open,#page-legal.open,#page-nombre.open,#page-doc.open,#page-radar.open,#page-axis-detail.open,#page-mochat.open,#page-mochat-view.open,#page-mapa-errores.open{transform:translateX(0);}
.axis-score-row{display:flex;align-items:baseline;gap:10px;margin-bottom:24px;}
.axis-score{font-size:48px;font-weight:600;color:var(--text);font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;line-height:1;}
.axis-confidence-badge{font-size:9px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;padding:3px 7px;border-radius:20px;white-space:nowrap;flex-shrink:0;}
.axis-confidence-badge.placeholder{background:var(--surface2);color:var(--muted);border:0.5px solid var(--border);}
.axis-confidence-badge.medium{background:rgba(127,119,221,0.12);color:var(--purple);border:0.5px solid rgba(127,119,221,0.30);}
.axis-confidence-badge.high{background:rgba(93,202,165,0.12);color:var(--green);border:0.5px solid rgba(93,202,165,0.30);}
.axis-placeholder-text{font-size:13px;color:var(--muted);line-height:1.75;}
.axis-note{font-size:12px;color:var(--muted);line-height:1.65;margin-bottom:28px;}
.axis-nodata-text{font-size:13px;color:var(--muted);line-height:1.75;}
.axis-factors{border-top:0.5px solid var(--border);padding-top:16px;}
.axis-factors-title{font-size:10px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:4px;}
.axis-factor-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:0.5px solid var(--border);}
.axis-factor-row:last-child{border-bottom:none;}
.axis-factor-key{font-size:13px;color:var(--muted);}
.axis-factor-val{font-size:13px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums;}
.radar-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 14px 24px;}
.radar-subtitle{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 14px;}
.radar-chart-wrap{display:flex;justify-content:center;}
.radar-svg{width:100%;display:block;}
.radar-menu-wrap{position:relative;z-index:95;}
.radar-dots-btn{width:32px;height:32px;background:none;border:none;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;border-radius:8px;}
.radar-dots-btn:active{background:var(--surface2);}
.radar-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:0.5px solid var(--border);border-radius:10px;padding:4px 0;min-width:150px;box-shadow:0 4px 20px rgba(0,0,0,0.5);z-index:100;display:none;}
.radar-menu.open{display:block;}
.radar-menu-item{padding:10px 14px;font-size:13px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;}
.radar-menu-item:active{background:var(--surface2);}
.radar-cpicker{position:absolute;top:54px;right:14px;background:var(--surface);border:0.5px solid var(--border);border-radius:12px;padding:12px 14px;gap:10px;z-index:100;box-shadow:0 4px 20px rgba(0,0,0,0.5);display:none;}
.radar-cpicker.open{display:flex;}
.radar-swatch{width:26px;height:26px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;padding:0;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:border-color 0.12s;outline:none;}
.radar-swatch.sel{border-color:rgba(255,255,255,0.75);}
.radar-swatch:active{opacity:0.7;}
#radar-panel-overlay{position:absolute;inset:0;z-index:89;display:none;}
.radar-insights{margin-top:56px;padding-bottom:8px;display:grid;grid-template-columns:1fr 1fr;gap:0 12px;}
.radar-insight-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px;}
.radar-insight-score{font-size:17px;font-weight:600;color:var(--text);font-family:'Inter',sans-serif;line-height:1;margin-bottom:1px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;}
.radar-insight-name{font-size:14px;color:var(--muted);line-height:1.3;}
.prof-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 10px 12px;border-bottom:0.5px solid var(--border);flex-shrink:0;}
.prof-back{width:32px;height:32px;background:none;border:none;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent;}
.prof-back:active{opacity:0.6;}
.prof-title{font-size:13px;font-weight:600;color:var(--text);}
.prof-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:24px 16px 32px;}
.prof-user-block{display:flex;flex-direction:column;align-items:center;padding:8px 0 28px;}
.prof-avatar-lg{width:56px;height:56px;border-radius:50%;background:var(--purple-dim);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500;color:#CECBF6;margin-bottom:12px;letter-spacing:0.02em;}
.prof-name{font-size:16px;font-weight:600;color:var(--text);letter-spacing:-0.01em;}
.prof-section{margin-bottom:20px;}
.prof-section-title{font-size:10px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:6px;padding:0 4px;}
.prof-group{background:var(--surface);border:0.5px solid var(--border);border-radius:12px;overflow:hidden;}
.prof-row{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;cursor:pointer;border-bottom:0.5px solid var(--border);-webkit-tap-highlight-color:transparent;}
.prof-row:last-child{border-bottom:none;}
.prof-row:active:not(.prof-row-soon){background:var(--surface2);}
.prof-row-label{font-size:13px;color:var(--text);}
.prof-row-soon{cursor:default;}
.prof-row-soon .prof-row-label{color:var(--muted);}
.prof-soon-badge{font-size:9px;font-weight:500;letter-spacing:0.04em;color:var(--muted);background:var(--surface2);border:0.5px solid var(--border);border-radius:20px;padding:2px 7px;flex-shrink:0;}
.prof-footer{text-align:center;font-size:10px;color:var(--muted);padding-top:8px;letter-spacing:0.04em;opacity:0.6;}
.prof-nombre-input{width:100%;background:transparent;border:none;outline:none;font-size:15px;font-weight:400;color:var(--text);font-family:'Inter',sans-serif;padding:13px 14px;-webkit-appearance:none;appearance:none;}
.prof-nombre-input::placeholder{color:var(--muted);}
.prof-save-btn{display:block;width:100%;padding:14px;background:var(--purple);border:none;border-radius:12px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;margin-top:16px;font-family:'Inter',sans-serif;letter-spacing:0.01em;-webkit-tap-highlight-color:transparent;transition:opacity 0.15s;}
.prof-save-btn:active{opacity:0.85;}
/* ── Document viewer ────────────────────────────────────────────────────── */
.doc-date{font-size:11px;color:var(--muted);margin-bottom:32px;letter-spacing:0.01em;}
.doc-section{font-size:10px;font-weight:600;color:var(--text);letter-spacing:0.12em;text-transform:uppercase;margin-top:32px;margin-bottom:14px;padding-bottom:10px;border-bottom:0.5px solid var(--border);}
.doc-section:first-child{margin-top:0;}
.doc-para{font-size:13.5px;line-height:1.82;color:rgba(232,232,240,0.68);margin-bottom:16px;}
/* ── Mo Chat ────────────────────────────────────────────────────────────── */
#page-mochat .prof-topbar,#page-mochat-view .prof-topbar{border-bottom-color:rgba(184,115,62,0.28);}
.mochat-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px 32px;}
.mochat-subtitle{font-size:11px;color:var(--muted);line-height:1.6;margin:0 0 20px;}
.mochat-question-card{position:relative;overflow:hidden;background:rgba(184,115,62,0.07);border:0.5px solid rgba(184,115,62,0.22);border-radius:10px;padding:10px 44px 10px 14px;margin-bottom:14px;width:70%;margin-left:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 0.14s,border-color 0.14s;}
.mochat-question-card:active{background:rgba(184,115,62,0.13);border-color:rgba(184,115,62,0.38);}
.mochat-card-text{font-size:15px;color:var(--text);line-height:1.4;display:block;}
.mochat-card-fold{position:absolute;top:0;right:0;width:24px;height:24px;background:linear-gradient(225deg,var(--bg) 50%,rgba(184,115,62,0.42) 50%);pointer-events:none;}
.mochat-view-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:32px;}
.mochat-view-question{font-size:15px;font-weight:500;color:var(--text);background:rgba(184,115,62,0.07);border:0.5px solid rgba(184,115,62,0.18);border-radius:8px;padding:12px 14px;margin:16px 16px 0;line-height:1.45;}
.mochat-divider{height:0.5px;background:var(--border);margin:20px 16px 24px;}
.mochat-chat-area{padding:0 16px 24px;}
.mochat-bubble{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;}
.mochat-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:rgba(184,115,62,0.12);border:0.5px solid rgba(184,115,62,0.32);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600;color:rgba(184,115,62,0.85);letter-spacing:0.04em;}
.mochat-bubble-text{background:var(--surface);border:0.5px solid rgba(184,115,62,0.22);border-radius:12px;border-top-left-radius:4px;padding:12px 14px;font-size:14px;color:var(--text);line-height:1.65;flex:1;}
.mochat-typing-dots{background:var(--surface);border:0.5px solid rgba(184,115,62,0.22);border-radius:12px;border-top-left-radius:4px;padding:14px 16px;display:flex;gap:5px;align-items:center;}
.mochat-typing-dot{width:5px;height:5px;border-radius:50%;background:rgba(184,115,62,0.7);animation:mochatDotBounce 1.0s ease infinite;}
.mochat-typing-dot:nth-child(2){animation-delay:0.15s;}
.mochat-typing-dot:nth-child(3){animation-delay:0.30s;}
@keyframes mochatDotBounce{0%,60%,100%{transform:translateY(0);}30%{transform:translateY(-5px);}}
@keyframes mochatBubbleIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.mochat-bubble-appear{animation:mochatBubbleIn 0.18s ease both;}
