:root{
  --bg:#07080a; --bg2:#0b0d10; --panel:#0f1115; --panel2:#14171c; --line:#1d2127; --line2:#262b33;
  --ink:#eef0f2; --ink2:#a7adb5; --ink3:#6c737d;
  --green:#19e58a; --green2:#0fb86c; --cyan:#3fd3ff; --violet:#9b7bff; --pink:#ff5fa8; --amber:#ffb224; --red:#ff5d5d;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace; --sans:"Inter",-apple-system,"Segoe UI",sans-serif;
  --r:16px; --r2:12px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(900px 500px at 15% -10%,rgba(25,229,138,.10),transparent 60%),
             radial-gradient(800px 500px at 95% 0%,rgba(155,123,255,.10),transparent 60%)}
a{color:inherit;text-decoration:none}
.mono{font-family:var(--mono)}
.lbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh;position:relative;z-index:1}
.side{border-right:1px solid var(--line);padding:1.1rem .9rem;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:.3rem;background:rgba(9,10,13,.7);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:.65rem;padding:.3rem .5rem 1rem}
.logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;color:#04140b;
  background:linear-gradient(135deg,var(--green),var(--cyan));box-shadow:0 0 24px rgba(25,229,138,.35)}
.brand b{display:block;font-size:.92rem;letter-spacing:-.01em}.brand span{display:block;font-size:.66rem;color:var(--ink3);font-family:var(--mono)}
.nav a{display:flex;align-items:center;gap:.6rem;padding:.55rem .6rem;border-radius:10px;font-size:.84rem;color:var(--ink2)}
.nav a i{width:18px;height:18px;border-radius:5px;display:inline-grid;place-items:center;font-style:normal;font-size:.7rem;background:var(--panel2);color:var(--ink3);font-family:var(--mono)}
.nav a.on{background:linear-gradient(90deg,rgba(25,229,138,.14),transparent);color:var(--ink);border:1px solid rgba(25,229,138,.25)}
.nav a.on i{background:var(--green);color:#04140b}
.nav a .n{margin-left:auto;font-family:var(--mono);font-size:.62rem;color:var(--ink3)}
.nav a .n.hot{color:var(--amber)}
.side .foot{margin-top:auto;padding:.8rem .6rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.62rem;color:var(--ink3);line-height:1.7}
.side .foot b{color:var(--green);font-weight:500}

.main{padding:1.1rem 1.6rem 3rem;min-width:0}
.top{display:flex;align-items:center;gap:1rem;padding:.2rem 0 1.1rem;border-bottom:1px solid var(--line);margin-bottom:1.2rem}
.search{display:flex;align-items:center;gap:.5rem;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:.5rem .8rem;width:320px;color:var(--ink3);font-size:.8rem}
.search kbd{margin-left:auto;font-family:var(--mono);font-size:.6rem;border:1px solid var(--line2);border-radius:4px;padding:.1rem .3rem}
.ticker{display:flex;gap:.4rem;margin-left:auto;flex-wrap:wrap}
.tk{display:flex;align-items:center;gap:.45rem;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:.38rem .75rem;font-family:var(--mono);font-size:.7rem}
.tk b{font-weight:500;color:var(--ink)}.tk span{color:var(--ink3)}.tk .up{color:var(--green)}.tk .dn{color:var(--red)}
.tk .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}
.today{font-family:var(--mono);font-size:.68rem;color:var(--ink3);white-space:nowrap}

/* ---------- cards ---------- */
.card{position:relative;min-width:0;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)) ,var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.1rem;overflow:hidden}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--green),var(--cyan),var(--violet),var(--pink));opacity:.75}
.card.g::before{background:linear-gradient(90deg,var(--green),var(--cyan))}
.card.a::before{background:linear-gradient(90deg,var(--amber),var(--pink))}
.card.r::before{background:linear-gradient(90deg,var(--red),var(--pink))}
.card.v::before{background:linear-gradient(90deg,var(--violet),var(--cyan))}
.card.flat::before{display:none}
.h2{display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem}
.h2 b{font-size:.95rem;letter-spacing:-.01em}.h2 .lbl{margin-left:auto}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:.8rem;margin-bottom:1.2rem}
.kpi .v{font-family:var(--mono);font-size:1.55rem;font-weight:700;letter-spacing:-.02em;margin:.35rem 0 .15rem}
.kpi .s{font-size:.72rem;color:var(--ink2)}
.kpi .s.ok{color:var(--green)}.kpi .s.warn{color:var(--amber)}.kpi .s.bad{color:var(--red)}
.kpi .ico{position:absolute;right:.9rem;top:.8rem;font-family:var(--mono);font-size:.7rem;color:var(--ink3)}

.grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:1.2rem;align-items:start}
.mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}

/* mentee card */
.mc{padding:1rem 1.05rem .9rem;cursor:pointer;transition:transform .15s,border-color .15s}
.mc:hover{transform:translateY(-2px);border-color:rgba(25,229,138,.35)}
.mc .hd{display:flex;align-items:center;gap:.7rem;margin-bottom:.7rem}
.mc .hd>div:not(.av):not(.ring){min-width:0;flex:1}
.av{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-weight:700;font-size:.8rem;color:#04140b;flex:none}
.av.c1{background:linear-gradient(135deg,#19e58a,#3fd3ff)}.av.c2{background:linear-gradient(135deg,#9b7bff,#3fd3ff)}.av.c3{background:linear-gradient(135deg,#ffb224,#ff5fa8)}
.av.c4{background:linear-gradient(135deg,#3fd3ff,#9b7bff)}.av.c5{background:linear-gradient(135deg,#ff5d5d,#ffb224)}.av.c6{background:linear-gradient(135deg,#ff5fa8,#9b7bff)}.av.c7{background:linear-gradient(135deg,#19e58a,#9b7bff)}
.mc .nm{font-weight:700;font-size:.98rem;letter-spacing:-.01em}
.chips{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.25rem}
.chip{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .45rem;border-radius:6px;border:1px solid var(--line2);color:var(--ink2);background:var(--panel2)}
.chip.g{color:var(--green);border-color:rgba(25,229,138,.35);background:rgba(25,229,138,.08)}
.chip.a{color:var(--amber);border-color:rgba(255,178,36,.4);background:rgba(255,178,36,.08)}
.chip.r{color:var(--red);border-color:rgba(255,93,93,.4);background:rgba(255,93,93,.08)}
.chip.v{color:var(--violet);border-color:rgba(155,123,255,.4);background:rgba(155,123,255,.1)}
.chip.c{color:var(--cyan);border-color:rgba(63,211,255,.4);background:rgba(63,211,255,.08)}
.ring{margin-left:auto;width:40px;height:40px;position:relative;flex:none}
.ring svg{transform:rotate(-90deg)}
.ring span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:.62rem;font-weight:700}
.steps{display:flex;gap:4px;margin:.2rem 0 .75rem;align-items:center}
.steps i{height:6px;flex:1;border-radius:3px;background:var(--line2)}
.steps i.d{background:var(--green)}.steps i.cur{background:var(--amber);box-shadow:0 0 10px rgba(255,178,36,.6)}.steps i.m{background:var(--ink3)}
.steps em{font-style:normal;font-family:var(--mono);font-size:.6rem;color:var(--ink3);margin-left:.4rem;white-space:nowrap}
.cap{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.15rem}
.cap .v{font-family:var(--mono);font-weight:700;font-size:1.12rem;letter-spacing:-.02em}
.cap .from{font-family:var(--mono);font-size:.68rem;color:var(--ink3)}
.pill{font-family:var(--mono);font-size:.64rem;font-weight:700;padding:.15rem .45rem;border-radius:999px}
.pill.up{color:var(--green);background:rgba(25,229,138,.12)}.pill.dn{color:var(--red);background:rgba(255,93,93,.12)}.pill.mut{color:var(--ink3);background:var(--panel2)}
.spark{display:block;width:100%;height:36px;margin:.2rem 0 .6rem}
.row{display:flex;align-items:flex-start;gap:.5rem;font-size:.78rem;color:var(--ink2);padding:.35rem 0;border-top:1px dashed var(--line)}
.row .k{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);min-width:68px;padding-top:.15rem}
.row b{color:var(--ink);font-weight:600}
.row .near{color:var(--amber)}
.mc .ft{display:flex;gap:.9rem;margin-top:.55rem;font-family:var(--mono);font-size:.62rem;color:var(--ink3)}
.mc .ft .late{color:var(--red)}

/* actions list */
.act{display:flex;gap:.7rem;padding:.6rem 0;border-top:1px solid var(--line);align-items:flex-start}
.act:first-of-type{border-top:0}
.act .pr{font-family:var(--mono);font-size:.6rem;font-weight:700;padding:.2rem .4rem;border-radius:6px;flex:none;margin-top:.1rem}
.pr.p1{background:rgba(255,93,93,.15);color:var(--red)}.pr.p2{background:rgba(255,178,36,.15);color:var(--amber)}.pr.p3{background:rgba(63,211,255,.12);color:var(--cyan)}
.act .t{font-size:.8rem;line-height:1.35}.act .t b{font-weight:600}.act .t span{display:block;color:var(--ink3);font-size:.68rem;font-family:var(--mono);margin-top:.15rem}
.act .chk{margin-left:auto;width:16px;height:16px;border:1px solid var(--line2);border-radius:5px;flex:none;margin-top:.2rem}

/* trigger rail */
.rail{position:relative;padding:.4rem 0 .4rem 0;margin-top:.4rem}
.rail .ln{position:absolute;left:84px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--green),var(--line2) 30%,var(--line2) 70%,var(--red))}
.lvl{display:flex;align-items:center;gap:.7rem;padding:.42rem 0;position:relative}
.lvl .p{font-family:var(--mono);font-size:.74rem;font-weight:700;width:72px;text-align:right}
.lvl .dot{width:10px;height:10px;border-radius:50%;background:var(--ink3);border:2px solid var(--bg);flex:none;position:relative;left:1px}
.lvl.now .dot{background:var(--cyan);box-shadow:0 0 0 4px rgba(63,211,255,.2),0 0 14px var(--cyan);width:12px;height:12px}
.lvl.near .dot{background:var(--amber);box-shadow:0 0 10px var(--amber)}
.lvl .w{font-size:.74rem;color:var(--ink2);line-height:1.3}.lvl .w b{color:var(--ink);font-weight:600}
.lvl .d{margin-left:auto;font-family:var(--mono);font-size:.62rem;color:var(--ink3);white-space:nowrap}
.lvl.now{background:linear-gradient(90deg,rgba(63,211,255,.08),transparent);border-radius:8px}
.lvl.now .w{color:var(--cyan)}
.tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.15rem}
.tag{font-family:var(--mono);font-size:.58rem;padding:.12rem .35rem;border-radius:4px;background:var(--panel2);border:1px solid var(--line2);color:var(--ink2)}

/* ---------- mentee page ---------- */
.mh{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}
.mh .av{width:52px;height:52px;border-radius:16px;font-size:1rem}
.mh h1{font-size:1.5rem;letter-spacing:-.02em;line-height:1.1}
.mh .sub{font-family:var(--mono);font-size:.68rem;color:var(--ink3);margin-top:.3rem}
.btns{margin-left:auto;display:flex;gap:.5rem}
.btn{font-size:.76rem;font-weight:600;padding:.5rem .8rem;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--ink2);display:flex;align-items:center;gap:.4rem}
.btn.pri{background:linear-gradient(135deg,var(--green),var(--green2));color:#04140b;border-color:transparent}
.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--line);margin:0 0 1.1rem;font-size:.8rem}
.tabs a{padding:.6rem .9rem;color:var(--ink3);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--ink);border-color:var(--green)}
.tabs a .n{font-family:var(--mono);font-size:.62rem;color:var(--ink3);margin-left:.3rem}
.two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1rem;margin-bottom:1rem}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.tl{position:relative;display:flex;justify-content:space-between;margin:1.4rem .4rem .4rem;padding-top:.2rem}
.tl::before{content:"";position:absolute;left:12px;right:12px;top:12px;height:2px;background:linear-gradient(90deg,var(--green) 0,var(--green) 83%,var(--line2) 83%)}
.node{position:relative;text-align:center;flex:1}
.node i{display:block;width:22px;height:22px;border-radius:50%;margin:0 auto .5rem;border:2px solid var(--bg);background:var(--green);color:#04140b;font-style:normal;font-family:var(--mono);font-size:.6rem;font-weight:700;line-height:18px}
.node.meet i{background:var(--cyan)}.node.doc i{background:var(--violet);color:#fff}.node.next i{background:var(--panel2);border-color:var(--amber);color:var(--amber);line-height:16px}
.node b{display:block;font-size:.72rem}.node span{display:block;font-family:var(--mono);font-size:.6rem;color:var(--ink3);margin-top:.1rem}
.node em{display:block;font-style:normal;font-size:.62rem;color:var(--violet);margin-top:.25rem;font-family:var(--mono)}
table.t{width:100%;border-collapse:collapse;font-size:.78rem}
table.t th{text-align:left;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding:.35rem .4rem;border-bottom:1px solid var(--line)}
table.t td{padding:.5rem .4rem;border-bottom:1px dashed var(--line);vertical-align:top;color:var(--ink2)}
table.t td b{color:var(--ink);font-weight:600}
table.t td .mono{font-size:.72rem}
.todo{display:flex;gap:.6rem;align-items:flex-start;padding:.45rem 0;border-top:1px dashed var(--line);font-size:.78rem;color:var(--ink2)}
.todo:first-of-type{border-top:0}
.todo i{width:14px;height:14px;border:1px solid var(--line2);border-radius:4px;flex:none;margin-top:.15rem}
.todo i.ok{background:var(--green);border-color:var(--green)}
.pos{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;padding:.55rem 0;border-top:1px dashed var(--line);font-size:.78rem}
.pos:first-of-type{border-top:0}
.pos b{font-weight:600}.pos .m{font-family:var(--mono);font-size:.7rem;color:var(--ink3)}.pos .v{font-family:var(--mono);font-weight:700;text-align:right}
.pos .st{text-align:right}
.big{font-family:var(--mono);font-size:1.5rem;font-weight:700;letter-spacing:-.02em}

/* ---------- responsive ---------- */
.bottom{display:none}
@media (max-width:980px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .tl{overflow-x:auto;padding-bottom:.5rem;justify-content:flex-start}
  .node{min-width:88px;flex:none}
  .todo div,.act .t,.pos{min-width:0;overflow-wrap:anywhere}
  table.t{display:block;overflow-x:auto}
  .side{display:none}
  .main{padding:.9rem .95rem 5.5rem}
  .top{flex-wrap:wrap;gap:.6rem}
  .search{width:100%}
  .ticker{margin-left:0;width:100%}
  .today{display:none}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .kpi .v{font-size:1.3rem}
  .grid{grid-template-columns:minmax(0,1fr)}
  .mgrid{grid-template-columns:minmax(0,1fr)}
  .bottom{display:flex;position:fixed;left:0;right:0;bottom:0;background:rgba(9,10,13,.9);backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:.55rem .6rem calc(.55rem + env(safe-area-inset-bottom));justify-content:space-around;z-index:5}
  .bottom a{display:flex;flex-direction:column;align-items:center;gap:.2rem;font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
  .bottom a i{width:22px;height:22px;border-radius:7px;background:var(--panel2);display:grid;place-items:center;font-style:normal;font-size:.7rem}
  .bottom a.on{color:var(--green)}.bottom a.on i{background:var(--green);color:#04140b}
  .two,.three{grid-template-columns:minmax(0,1fr)}
  .kpi .s{font-size:.68rem}
  .mh{flex-wrap:wrap}.btns{margin-left:0;width:100%;flex-wrap:wrap}
  .tabs{overflow-x:auto}
}
.screen{display:none}.screen.on{display:block}

/* ---------- loading / errors ---------- */
.loading{color:var(--ink3);font-family:var(--mono);font-size:.8rem;padding:3rem 0;text-align:center}
.err{background:rgba(255,93,93,.08);border:1px solid rgba(255,93,93,.4);color:var(--red);border-radius:var(--r2);padding:.8rem 1rem;font-size:.82rem;margin:1rem 0}
.stale{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ink3);margin-left:.3rem;vertical-align:middle}
.pf{margin-left:.6rem;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.62rem;font-weight:700;
  background:linear-gradient(135deg,var(--violet),var(--pink));color:#fff;cursor:pointer;flex:none}
.pf.on{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--green)}

/* ---------- dense table (Mentorados) ---------- */
.table{width:100%;border-collapse:collapse;font-size:.8rem}
.table th{text-align:left;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding:.5rem .6rem;border-bottom:1px solid var(--line)}
.table td{padding:.6rem .6rem;border-bottom:1px dashed var(--line);vertical-align:middle;color:var(--ink2)}
.table tr{cursor:pointer}.table tr:hover td{background:rgba(255,255,255,.02)}
.table td b{color:var(--ink);font-weight:600}
.tscroll{overflow-x:auto}

/* ---------- switches (Perfil) ---------- */
.switch{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-top:1px dashed var(--line);font-size:.84rem}
.switch:first-of-type{border-top:0}
.switch span{color:var(--ink3);font-size:.7rem;font-family:var(--mono);display:block;margin-top:.15rem}
.tog{width:40px;height:22px;border-radius:999px;background:var(--line2);position:relative;cursor:pointer;flex:none;border:0}
.tog::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink2);transition:left .15s}
.tog.on{background:var(--green)}.tog.on::after{left:21px;background:#04140b}

/* ---------- file list + viewer (ported from v1) ---------- */
.detail{display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);gap:1rem;align-items:start}
@media (max-width:980px){.detail{grid-template-columns:minmax(0,1fr)}}
.filelist{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:.9rem}
.group-title{font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin:1rem 0 .4rem}.group-title:first-child{margin-top:0}
.frow{display:flex;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:8px;cursor:pointer;font-size:.8rem;border:1px solid transparent;min-width:0}
.frow:hover{background:var(--panel2)}.frow.on{background:var(--panel2);border-color:rgba(25,229,138,.35)}
.fdate{font-family:var(--mono);font-size:.62rem;color:var(--ink3);white-space:nowrap;min-width:46px}
.fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;color:var(--ink)}
.fbadge{font-family:var(--mono);font-size:.56rem;padding:.12rem .38rem;border-radius:4px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.b-call{background:rgba(25,229,138,.1);color:var(--green);border:1px solid rgba(25,229,138,.35)}
.b-sent{background:rgba(63,211,255,.1);color:var(--cyan);border:1px solid rgba(63,211,255,.35)}
.b-draft{background:rgba(255,178,36,.1);color:var(--amber);border:1px solid rgba(255,178,36,.4)}
.b-internal{background:rgba(155,123,255,.12);color:var(--violet);border:1px solid rgba(155,123,255,.4)}
.b-doc,.b-note{background:var(--panel2);color:var(--ink2);border:1px solid var(--line2)}
.b-part{background:rgba(25,229,138,.06);color:var(--green);border:1px solid rgba(25,229,138,.3);opacity:.85}
.viewer{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);min-height:70vh;display:flex;flex-direction:column;overflow:hidden}
.viewer-bar{display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.68rem;color:var(--ink2)}
.viewer-bar a{margin-left:auto;white-space:nowrap;color:var(--green)}
.viewer-body{flex:1;overflow:auto}.viewer-body iframe{width:100%;height:70vh;border:0;background:#0a0a0a}
.placeholder{display:flex;align-items:center;justify-content:center;height:40vh;color:var(--ink3);font-family:var(--mono);font-size:.78rem;text-align:center;padding:1rem}
.bundle{border:1px solid var(--line2);border-radius:10px;margin-bottom:.5rem;background:var(--panel2);overflow:hidden}
.bundle-head{display:flex;align-items:center;gap:.5rem;padding:.55rem .65rem;cursor:pointer;user-select:none;min-width:0}
.bnum{font-family:var(--mono);font-size:.58rem;padding:.16rem .4rem;border-radius:4px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;background:rgba(25,229,138,.1);color:var(--green);border:1px solid rgba(25,229,138,.35)}
.bnum.unnum{background:var(--panel);color:var(--ink2);border-color:var(--line2)}
.btitle{flex:1;font-size:.8rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdate,.bcount{font-family:var(--mono);font-size:.62rem;color:var(--ink3);white-space:nowrap}
.bcaret{color:var(--ink3);font-size:.65rem;transition:transform .15s}.bundle.open .bcaret{transform:rotate(90deg)}
.bundle-body{display:none;border-top:1px solid var(--line);padding:.35rem .35rem .45rem}.bundle.open .bundle-body{display:block}
.bsub{font-family:var(--mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin:.45rem .4rem .2rem}
.prose{padding:1.2rem 1.5rem;max-width:86ch;line-height:1.7;font-size:.9rem}
.prose h1{font-size:1.35rem;margin:.4rem 0 1rem}.prose h2{font-size:1.05rem;margin:1.5rem 0 .6rem;color:var(--green)}.prose h3{font-size:.95rem;margin:1.2rem 0 .5rem}
.prose p{margin:.6rem 0}.prose ul,.prose ol{margin:.6rem 0 .6rem 1.4rem}.prose li{margin:.25rem 0}
.prose code{font-family:var(--mono);font-size:.82em;background:var(--panel2);padding:.1rem .35rem;border-radius:4px}
.prose pre{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:.9rem 1rem;overflow-x:auto;margin:.8rem 0}.prose pre code{background:none;padding:0}
.prose table{border-collapse:collapse;margin:.9rem 0;font-size:.82rem;width:100%}
.prose th,.prose td{border:1px solid var(--line2);padding:.45rem .65rem;text-align:left;vertical-align:top}
.prose th{background:var(--panel2);font-family:var(--mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2)}
.prose blockquote{border-left:3px solid var(--amber);padding:.2rem 0 .2rem 1rem;margin:.8rem 0;color:var(--ink2)}
.prose hr{border:0;border-top:1px dashed var(--line2);margin:1.4rem 0}.prose strong{color:var(--ink)}
.prose .wikilink{color:var(--green);border-bottom:1px dashed rgba(25,229,138,.4)}
.tl::before{background:linear-gradient(90deg,var(--green) 0,var(--green) var(--done,0%),var(--line2) var(--done,0%))}
.chk{display:inline-block}
body.compact .card{padding:.75rem .85rem}body.compact .mgrid{gap:.6rem}body.compact .kpis{gap:.6rem}
/* ---------- sidebar collapse ---------- */
.sidetog{margin-left:auto;width:26px;height:26px;border-radius:7px;border:1px solid var(--line2);background:var(--panel2);color:var(--ink3);cursor:pointer;font-size:.7rem;flex:none}
.sidetog:hover{color:var(--ink)}
.shell.collapsed{grid-template-columns:64px 1fr}
.shell.collapsed .side{padding:1.1rem .6rem}
.shell.collapsed .brand>div:not(.logo),.shell.collapsed .nav a span,.shell.collapsed .foot,.shell.collapsed .nav a .n{display:none}
.shell.collapsed .brand{justify-content:center;padding:.3rem 0 1rem;flex-wrap:wrap;gap:.5rem}
.shell.collapsed .nav a{justify-content:center;padding:.55rem 0}
.shell.collapsed .sidetog{margin:0}
/* ---------- modo apresentação ---------- */
body.present .shell{grid-template-columns:1fr}
body.present .side,body.present .bottom,body.present .internal,body.present .search,body.present .pf{display:none!important}
body.present .main{padding:1.1rem 2.2rem 3rem;max-width:1500px;margin:0 auto}
body.present .top{justify-content:flex-end}
.present-btn{font-size:.76rem;font-weight:600;padding:.5rem .8rem;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--ink2);cursor:pointer}
.present-btn.on{background:linear-gradient(135deg,var(--violet),var(--pink));color:#fff;border-color:transparent}
.present-exit{position:fixed;right:1rem;bottom:1rem;z-index:20;display:none}
body.present .present-exit{display:block}
.three.two{grid-template-columns:repeat(2,minmax(0,1fr))}

/* ======== portal (mentoria-portal additions) ======== */
.brand .logo.img{background:none;box-shadow:none;padding:0}
.brand .logo.img{width:auto;height:auto}
.brand .logo.img img{height:30px;width:auto;display:block;object-fit:contain}
.auth{max-width:420px;margin:12vh auto 0}
.auth h1{font-size:1.4rem;letter-spacing:-.02em;margin-bottom:.3rem}
.auth p{color:var(--ink2);font-size:.86rem;line-height:1.5;margin-bottom:1rem}
.field{display:flex;flex-direction:column;gap:.35rem;margin:.8rem 0}
.field input{background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:.7rem .85rem;color:var(--ink);font-size:.9rem;font-family:var(--sans)}
.field input:focus{outline:none;border-color:rgba(25,229,138,.5)}
.btn.wide{width:100%;justify-content:center;padding:.7rem}
.msg{font-family:var(--mono);font-size:.72rem;color:var(--ink2);margin-top:.6rem;line-height:1.5}
.msg.ok{color:var(--green)}.msg.bad{color:var(--red)}
.feed{display:flex;flex-direction:column;gap:.9rem}
.post .meta{display:flex;gap:.6rem;align-items:center;font-family:var(--mono);font-size:.64rem;color:var(--ink3);margin-bottom:.4rem}
.post h3{font-size:1rem;letter-spacing:-.01em;margin-bottom:.5rem}
.post .body{color:var(--ink2);font-size:.84rem;line-height:1.6;white-space:pre-wrap}
.post .yt{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--r2);overflow:hidden;border:1px solid var(--line);background:#000;margin:.6rem 0}
.post .yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.post .lvls{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.6rem}
.lvl-chip{font-family:var(--mono);font-size:.66rem;padding:.25rem .5rem;border-radius:8px;border:1px solid var(--line2);background:var(--panel2);color:var(--ink2)}
.lvl-chip b{color:var(--ink);font-weight:600}
.cal{width:100%;min-height:720px;border:0;border-radius:var(--r2);background:var(--panel)}
.hero{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}
.hero .av{width:52px;height:52px;border-radius:16px;font-size:1rem}
.hero h1{font-size:1.5rem;letter-spacing:-.02em;line-height:1.1}
.hero .sub{font-family:var(--mono);font-size:.68rem;color:var(--ink3);margin-top:.3rem}
.plan li{font-size:.84rem;color:var(--ink2);line-height:1.5;padding:.35rem 0;border-top:1px dashed var(--line);list-style:none}
.plan li:first-child{border-top:0}
.doclink{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px dashed var(--line);font-size:.82rem}
.doclink:first-child{border-top:0}
.doclink .fdate{min-width:52px}.doclink a{color:var(--green);margin-left:auto;font-family:var(--mono);font-size:.68rem;white-space:nowrap}
.empty{color:var(--ink3);font-family:var(--mono);font-size:.74rem;padding:1.2rem 0;text-align:center}
.sel{background:var(--bg2);border:1px solid var(--line2);border-radius:10px;padding:.5rem .7rem;color:var(--ink);font-family:var(--mono);font-size:.74rem}

/* antes do login: sem menu lateral nem barra inferior, login centralizado com o cubo */
body.anon .shell{grid-template-columns:minmax(0,1fr)}
body.anon .side,body.anon .bottom{display:none}
.auth .cube{height:30px;width:auto;max-width:100%;display:block;margin:.2rem 0 1.1rem;object-fit:contain}
.asbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.55rem .85rem;margin-bottom:1rem;border-radius:10px;border:1px solid rgba(155,123,255,.4);background:rgba(155,123,255,.08);font-family:var(--mono);font-size:.7rem;color:var(--ink2)}
.asbar b{color:var(--ink)}.asbar a{margin-left:auto;color:var(--violet)}
