@font-face{font-family:'Roboto';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/roboto-var.woff) format('woff')}
@font-face{font-family:'Sansation';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/sansation-400.woff) format('woff')}
@font-face{font-family:'Sansation';font-style:normal;font-weight:700 800;font-display:swap;src:url(/fonts/sansation-700.woff) format('woff')}

/* ══ NEXO ENFERMAGEM — DESIGN SYSTEM ══ */
:root{
  /* Brand */
  --or:#FF8A3D; --or2:#FF6B00; --or-light:#FFF0E6; --or-mid:#FFDCC0;
  /* Grafite */
  --gr:#1F2933; --gr2:#374151; --gr3:#6B7280;
  /* Surfaces */
  --white:#FFFFFF; --bg:#F7F7F8; --bg2:#F0F0F2; --border:#E5E7EB; --border2:#D1D5DB;
  /* Status */
  --green:#16A34A; --green-bg:#DCFCE7; --green-bd:#BBF7D0;
  --red:#DC2626;   --red-bg:#FEE2E2;   --red-bd:#FECACA;
  --amber:#D97706; --amber-bg:#FEF3C7; --amber-bd:#FDE68A;
  --blue:#2563EB;  --blue-bg:#DBEAFE;  --blue-bd:#BFDBFE;
  /* Dom levels */
  --dom0-c:#6B7280; --dom0-bg:#F3F4F6; --dom0-bd:#D1D5DB;
  --dom1-c:#DC2626; --dom1-bg:#FEE2E2; --dom1-bd:#FECACA;
  --dom2-c:#D97706; --dom2-bg:#FEF3C7; --dom2-bd:#FDE68A;
  --dom3-c:#2563EB; --dom3-bg:#DBEAFE; --dom3-bd:#BFDBFE;
  --dom4-c:#16A34A; --dom4-bg:#DCFCE7; --dom4-bd:#BBF7D0;
  /* Typography */
  --font-title:Sansation,Roboto,system-ui,sans-serif;
  --font-body:Roboto,system-ui,sans-serif;
  --font-mono:Roboto,system-ui,sans-serif;
  /* Safe areas */
  --st:env(safe-area-inset-top,0px);
  --sb:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-padding-top:var(--st)}
body{background:var(--bg);color:var(--gr);font-family:var(--font-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}

/* ══ LOGIN SCREEN ══ */
.login-wrap{display:flex;min-height:100vh;background:var(--gr);position:relative;overflow:hidden}
.login-deco{position:absolute;top:-80px;right:-80px;width:320px;height:320px;background:var(--or);border-radius:50%;opacity:.08;pointer-events:none}
.login-deco2{position:absolute;bottom:-60px;left:-60px;width:220px;height:220px;background:var(--or);border-radius:50%;opacity:.06;pointer-events:none}
.login-box{background:var(--surface);border-radius:16px;padding:36px 32px;width:100%;max-width:420px;margin:auto;position:relative;z-index:1;box-shadow:0 24px 64px rgba(0,0,0,.3)}
.login-logo{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:28px;text-align:center}
.login-logo svg{height:44px}
.login-logo-sub{font-family:var(--font-body);font-size:12.5px;color:var(--gr3);letter-spacing:.3px}
.login-badge{display:inline-block;border:1.5px solid var(--border2);border-radius:20px;padding:3px 12px;font-size:11.5px;font-weight:600;color:var(--gr2);letter-spacing:.5px;font-family:var(--font-title);margin-top:2px}
.l-title{font-family:var(--font-title);font-size:18px;font-weight:700;color:var(--gr);margin-bottom:4px}
.l-sub{font-size:13px;color:var(--gr3);margin-bottom:20px}
.l-field{margin-bottom:14px}
.l-field label{display:block;font-size:12.5px;font-weight:600;color:var(--gr2);letter-spacing:.4px;text-transform:uppercase;margin-bottom:5px}
.l-field-wrap{position:relative}
.l-inp{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:var(--font-body);color:var(--gr);background:var(--surface);outline:none;transition:border-color .15s}
.l-inp:focus{border-color:var(--or)}
.l-inp.l-err{border-color:var(--red)}
.l-pwd-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gr3);cursor:pointer;font-size:14px;padding:4px;line-height:1;display:flex;align-items:center}
.l-btn{width:100%;padding:13px;background:var(--or);border:none;border-radius:8px;color:var(--white);font-size:14px;font-weight:700;font-family:var(--font-title);cursor:pointer;transition:background .15s;letter-spacing:.3px;margin-top:4px}
.l-btn:hover{background:var(--or2)}
.l-btn:disabled{opacity:.6;cursor:not-allowed}
.l-btn-ghost{width:100%;padding:11px;background:transparent;border:1.5px solid var(--border);border-radius:8px;color:var(--gr2);font-size:14px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:all .15s;margin-top:8px}
.l-btn-ghost:hover{border-color:var(--or);color:var(--or-text)}
.l-link{background:none;border:none;font-family:var(--font-body);font-size:13px;color:var(--or-text);cursor:pointer;text-decoration:underline;text-underline-offset:2px;padding:0}
.l-link:hover{color:var(--or-text)}
.l-divider{text-align:center;font-size:12.5px;color:var(--gr3);margin:14px 0;position:relative}
.l-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}
.l-divider span{background:var(--surface);padding:0 12px;position:relative}
.l-err-box{background:var(--red-bg);border:1px solid var(--red-bd);border-radius:7px;padding:9px 12px;margin-bottom:12px;font-size:13px;color:var(--red);display:none;line-height:1.5}
.l-ok-box{background:var(--green-bg);border:1px solid var(--green-bd);border-radius:7px;padding:9px 12px;margin-bottom:12px;font-size:13px;color:var(--green);display:none;line-height:1.5}
.l-notice{background:var(--amber-bg);border:1px solid var(--amber-bd);border-radius:8px;padding:10px 12px;margin-bottom:16px;font-size:11.5px;color:var(--amber);line-height:1.5}
.l-notice b{font-weight:700}
.l-footer{font-size:12.5px;color:var(--gr3);text-align:center;margin-top:16px;line-height:1.6}
@media(max-width:480px){.login-box{border-radius:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:28px 20px}}

/* ══ NAV ══ */
body::before{content:"";position:fixed;inset:0 0 auto;height:var(--st);background:var(--gr);z-index:99}
.nav{background:var(--gr);display:flex;align-items:stretch;padding:var(--st) 0 0;position:sticky;top:0;z-index:90;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav-logo{display:flex;align-items:center;padding:8px 16px 8px 12px;border-right:1px solid rgba(255,255,255,.08);gap:0;flex-shrink:0}
.nav-logo .nx-txt{display:flex}
@media(max-width:520px){.nav-logo .nx-txt{display:none}.nav-logo{padding:8px 10px}.ntb{padding:12px 9px 11px;font-size:12.5px}}
.nav-tabs{display:flex;flex:1;overflow-x:auto;scrollbar-width:none}
.nav-tabs::-webkit-scrollbar{display:none}
.ntb{flex:1 0 auto;padding:12px 11px 11px;background:none;border:none;border-bottom:2px solid transparent;color:rgba(255,255,255,.5);font-size:11.5px;font-family:var(--font-body);font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s;text-align:center}
.ntb:hover{color:rgba(255,255,255,.85)}
.ntb.on{color:var(--white);border-bottom-color:var(--or);font-weight:600}
.user-bar{background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06);padding:5px 16px;display:flex;align-items:center;justify-content:space-between;font-size:12.5px}
.ub-email{color:rgba(255,255,255,.5);font-family:var(--font-mono)}
.ub-logout{background:none;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);font-size:12.5px;font-family:var(--font-body);padding:3px 10px;border-radius:4px;cursor:pointer;transition:all .15s}
.ub-logout:hover{border-color:rgba(255,255,255,.4);color:rgba(255,255,255,.85)}

/* ══ VIEWS ══ */
.view{display:none;padding-bottom:calc(24px + var(--sb))}
.view.on{display:block}

/* ══ VIEW HEADER ══ */
.vhdr{background:var(--gr);padding:calc(14px + var(--st)) 16px 14px;position:sticky;top:47px;z-index:80}
.vhdr-inner{max-width:900px;margin:0 auto}
.vhdr h2{font-family:var(--font-title);font-size:16px;font-weight:700;color:var(--white);letter-spacing:-.02em}
.vhdr p{font-size:12.5px;color:rgba(255,255,255,.5);margin-top:2px}
.vhdr-chips{display:flex;gap:5px;margin-top:9px;flex-wrap:wrap;align-items:center}
.hchip{font-family:var(--font-mono);font-size:11.5px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:4px;padding:2px 8px;color:rgba(255,255,255,.6);white-space:nowrap}
.hchip b{color:var(--white)}
.hchip.accent{background:rgba(255,138,61,.2);border-color:rgba(255,138,61,.4);color:var(--or-text)}
.hchip.accent b{color:var(--or-text)}

/* ══ SUBBAR ══ */
.subbar{display:flex;gap:5px;padding:8px 16px;background:rgba(255,255,255,.03);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.subbar::-webkit-scrollbar{display:none}
.sfb{flex-shrink:0;padding:5px 12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--gr2);font-size:12.5px;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:all .15s}
.sfb:hover{border-color:var(--or);color:var(--or-text)}
.sfb.on{background:var(--or);border-color:var(--or);color:var(--white);font-weight:600}

/* ══ SEARCH + PROGRESS ══ */
.sr{padding:8px 16px;background:var(--bg);border-bottom:1px solid var(--border)}
.si{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--gr);font-size:14px;font-family:var(--font-body);outline:none;transition:border-color .15s}
.si:focus{border-color:var(--or)}
.si::placeholder{color:var(--gr3)}
.pr{padding:7px 16px;background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.plb{font-size:11.5px;color:var(--gr3);white-space:nowrap;font-family:var(--font-mono)}
.pt{flex:1;height:4px;background:var(--bg2);border-radius:2px;overflow:hidden}
.pf{height:100%;background:var(--or);border-radius:2px;transition:width .35s}
.pp{font-family:var(--font-mono);font-size:12.5px;color:var(--or-text);font-weight:600;min-width:30px;text-align:right}

/* ══ CONTENT ══ */
.ct{max-width:900px;margin:0 auto;padding:14px 16px}

/* ══ CHIPS ══ */
.chip{font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap;font-family:var(--font-body)}
.cp{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bd)}
.ci{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-bd)}
.cc{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bd)}
.cs{background:var(--green-bg);color:var(--green);border:1px solid var(--green-bd)}
.cr{background:var(--bg2);color:var(--gr2);border:1px solid var(--border)}

/* ══ CARDS ══ */
.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:8px}
.card-hdr{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}
.card-hdr h3{font-family:var(--font-title);font-size:14px;font-weight:600;color:var(--gr)}
.card-body{padding:13px}

/* ══ STAT GRID ══ */
.sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:7px}
.sc{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 11px}
.sc .sv{font-family:var(--font-mono);font-size:20px;font-weight:700;color:var(--gr);line-height:1}
.sc .sl{font-size:11.5px;color:var(--gr3);margin-top:3px;line-height:1.3}
.sc.acc{background:var(--or);border-color:var(--or)}.sc.acc .sv,.sc.acc .sl{color:var(--white)}
.sc.grn{background:var(--green-bg);border-color:var(--green-bd)}.sc.grn .sv{color:var(--green)}
.sc.red{background:var(--red-bg);border-color:var(--red-bd)}.sc.red .sv{color:var(--red)}

/* ══ DOM BADGES ══ */
.dom{font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:4px;white-space:nowrap}
.d0{color:var(--dom0-c);background:var(--dom0-bg);border:1px solid var(--dom0-bd)}
.d1{color:var(--dom1-c);background:var(--dom1-bg);border:1px solid var(--dom1-bd)}
.d2{color:var(--dom2-c);background:var(--dom2-bg);border:1px solid var(--dom2-bd)}
.d3{color:var(--dom3-c);background:var(--dom3-bg);border:1px solid var(--dom3-bd)}
.d4{color:var(--dom4-c);background:var(--dom4-bg);border:1px solid var(--dom4-bd)}

/* ══ HOJE ══ */
.hoje-hero{background:var(--gr);border-radius:12px;overflow:hidden;margin-bottom:12px;position:relative}
.hoje-hero-accent{position:absolute;top:-30px;right:-30px;width:140px;height:140px;background:var(--or);border-radius:50%;opacity:.1;pointer-events:none}
.hoje-hero-body{padding:18px 18px 16px;position:relative;z-index:1}
.hoje-greeting{font-family:var(--font-title);font-size:14px;font-weight:600;color:rgba(255,255,255,.6);margin-bottom:4px}
.hoje-dia-title{font-family:var(--font-title);font-size:17px;font-weight:700;color:var(--white);line-height:1.3;margin-bottom:8px}
.hoje-meta-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.hoje-mtag{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.15)}
.hoje-mtag.accent{background:rgba(255,138,61,.25);color:var(--or-text);border-color:rgba(255,138,61,.4)}
.hoje-hero-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid rgba(255,255,255,.08)}
.hoje-q-big{font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--white);line-height:1}
.hoje-q-lbl{font-size:12.5px;color:rgba(255,255,255,.5);margin-top:2px}
.hoje-done-btn{padding:8px 16px;background:var(--or);border:none;border-radius:8px;color:var(--white);font-size:13px;font-weight:700;font-family:var(--font-title);cursor:pointer;transition:background .15s}
.hoje-done-btn:hover{background:var(--or2)}
.hoje-done-btn.done{background:var(--green);cursor:default}
.hoje-section{font-family:var(--font-title);font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gr3);margin:14px 0 6px}
/* Arco indicator */
.arco-bar{display:flex;align-items:stretch;border-radius:8px;overflow:hidden;border:1px solid var(--border);margin-bottom:12px}
.arco-step{flex:1;padding:7px 4px;text-align:center;font-size:9.5px;font-weight:600;color:var(--gr3);background:var(--surface);border-right:1px solid var(--border);cursor:default;transition:all .15s;line-height:1.3}
.arco-step:last-child{border-right:none}
.arco-step.active{background:var(--or);color:var(--white)}
.arco-step .as-num{font-family:var(--font-mono);font-size:10px;display:block;opacity:.7;margin-bottom:1px}
/* Rotina config */
.rotina-card{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:14px;margin-bottom:10px}
.rotina-opts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}
.rotina-opt{padding:10px 6px;border:1.5px solid var(--border);border-radius:8px;text-align:center;cursor:pointer;transition:all .15s;background:var(--surface)}
.rotina-opt:hover{border-color:var(--or)}
.rotina-opt.selected{border-color:var(--or);background:var(--or-light)}
.rotina-opt .ro-dias{font-family:var(--font-mono);font-size:22px;font-weight:700;color:var(--gr);line-height:1}
.rotina-opt.selected .ro-dias{color:var(--or-text)}
.rotina-opt .ro-nome{font-size:11.5px;font-weight:600;color:var(--gr3);margin-top:2px;line-height:1.3}
.rotina-opt.selected .ro-nome{color:var(--or-text)}
.rotina-aviso{background:var(--amber-bg);border:1px solid var(--amber-bd);border-radius:7px;padding:9px 11px;margin-top:10px;font-size:11.5px;color:var(--amber);line-height:1.5;display:none}
/* recomendação */
.rec{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:13px;margin-bottom:8px;cursor:pointer;transition:border-color .15s}
.rec:hover{border-color:var(--or)}
.rec.p1{border-left:3px solid var(--red)}
.rec.p2{border-left:3px solid var(--amber)}
.rec.p3{border-left:3px solid var(--or)}
.rec-n{font-family:var(--font-title);font-size:14px;font-weight:600;color:var(--gr);margin-bottom:3px}
.rec-m{font-size:13px;color:var(--gr3);line-height:1.5;margin-bottom:6px}
.rec-pills{display:flex;gap:5px;flex-wrap:wrap}
.rpill{font-family:var(--font-mono);font-size:11.5px;color:var(--gr3);padding:2px 6px;background:var(--bg);border:1px solid var(--border);border-radius:4px}

/* ══ DAY CARDS ══ */
.dc{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .15s;margin-bottom:7px}
.dc:hover{border-color:var(--or)}
.dc.done{border-color:var(--green-bd)}
.dc.done .dch{background:var(--green-bg)}
.dch{display:flex;align-items:center;gap:9px;padding:10px 13px;cursor:pointer;user-select:none}
.dnum{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--gr3);min-width:36px}
.dchk{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--border2);background:var(--surface);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}
.dchk.on{background:var(--green);border-color:var(--green)}
.dchk.on::after{content:'✓';font-size:11.5px;color:var(--white);font-weight:700}
.dinf{flex:1;min-width:0}
.dtit{font-family:var(--font-title);font-size:14px;font-weight:600;color:var(--gr);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dmeta{display:flex;align-items:center;gap:5px;margin-top:2px;flex-wrap:wrap}
.aerow{display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.aelbl{font-size:10.5px;color:var(--gr3);font-weight:600;letter-spacing:.04em;white-space:nowrap}
.aepip{font-family:var(--font-mono);font-size:10.5px;font-weight:600;padding:1px 5px;border-radius:3px;background:var(--bg);color:var(--or-text);border:1px solid var(--or-mid);cursor:pointer;transition:all .12s}
.aepip:hover,.aepip.cur{background:var(--or);color:var(--white);border-color:var(--or)}
.dchips{display:flex;gap:4px;flex-shrink:0;align-items:center}
.qb{font-family:var(--font-mono);font-size:11.5px;color:var(--gr3);padding:2px 5px;border:1px solid var(--border);border-radius:4px;background:var(--bg)}
.xp{font-size:11.5px;color:var(--gr3);transition:transform .2s;flex-shrink:0}
.dc.open .xp{transform:rotate(180deg)}
.dcbdy{display:none;border-top:1px solid var(--border);padding:12px}
.dc.open .dcbdy{display:block}
.slbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gr3);margin-top:11px;margin-bottom:4px;font-family:var(--font-title)}
.slbl:first-child{margin-top:0}
.slist{list-style:none}
.slist li{font-size:13.5px;color:var(--gr);padding:3px 0 3px 13px;position:relative;line-height:1.4;border-bottom:1px solid var(--border)}
.slist li:last-child{border-bottom:none}
.slist li::before{content:'·';position:absolute;left:3px;color:var(--or-text);font-weight:700}
.btag{display:inline-block;font-family:var(--font-mono);font-size:11.5px;background:var(--bg);color:var(--or-text);border:1px solid var(--or-mid);border-radius:3px;padding:1px 5px;margin:2px 2px 2px 0}
.nta{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:7px;padding:8px 10px;font-size:13px;font-family:var(--font-body);resize:vertical;min-height:50px;margin-top:4px;outline:none;transition:border-color .15s;color:var(--gr)}
.nta:focus{border-color:var(--or)}
.nta::placeholder{color:var(--gr3)}
/* como encontrar questões */
.qtip{margin-top:10px;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.qtip-h{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;background:var(--bg);transition:background .12s}
.qtip-h:hover{background:var(--bg2)}
.qtip-title{font-size:13px;font-weight:600;color:var(--or-text);flex:1;font-family:var(--font-body)}
.qtip-arr{font-size:11.5px;color:var(--gr3);transition:transform .2s}
.qtip-body{display:none;padding:12px;background:var(--surface);border-top:1px solid var(--border)}
.qtip-body.open{display:block}
.qtip-pname{font-size:12.5px;font-weight:700;color:var(--gr);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-family:var(--font-title)}
.qtip-steps{list-style:none;margin-bottom:10px}
.qtip-steps li{font-size:13px;color:var(--gr3);padding:2px 0 2px 16px;position:relative;line-height:1.5}
.qtip-steps li::before{content:'→';position:absolute;left:0;color:var(--or-text);font-size:11.5px;top:3px}
.qtip-nota{font-size:12.5px;color:var(--gr3);background:var(--bg);border-radius:5px;padding:8px 10px;border-left:2px solid var(--or-mid);line-height:1.5}

/* ══ GROUP CARDS (TRACKER) ══ */
.gc{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:7px}
.gch{display:flex;align-items:center;gap:9px;padding:11px 13px;cursor:pointer;user-select:none;transition:background .12s}
.gch:hover{background:var(--bg)}
.gc.open .gxp{transform:rotate(180deg)}
.grk{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--gr3);min-width:22px}
.gm{flex:1;min-width:0}
.gn{font-family:var(--font-title);font-size:14px;font-weight:600;color:var(--gr)}
.gs2{display:flex;align-items:center;gap:5px;margin-top:3px;flex-wrap:wrap}
.gav{font-family:var(--font-mono);font-size:9.5px;color:var(--gr3)}
.gapr{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin-top:3px}
.gring{position:relative;width:36px;height:36px;flex-shrink:0}
.gring svg{transform:rotate(-90deg)}
.gringl{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:10.5px;font-weight:700}
.gxp{font-size:11.5px;color:var(--gr3);transition:transform .2s;flex-shrink:0}
.gcbdy{display:none;border-top:1px solid var(--border);padding:13px}
.gc.open .gcbdy{display:block}
.gsum{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
@media(max-width:440px){.gsum{grid-template-columns:repeat(2,1fr)}}
.gsc{background:var(--bg);border:1px solid var(--border);border-radius:7px;padding:8px;text-align:center}
.gsv{font-family:var(--font-mono);font-size:17px;font-weight:700;color:var(--gr)}
.gsl{font-size:10.5px;color:var(--gr3);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}
.sff{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:11px;margin-bottom:10px}
.sff h4{font-family:var(--font-title);font-size:12.5px;font-weight:700;color:var(--gr);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.sfr{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-end}
.sf{display:flex;flex-direction:column;gap:3px}
.sf label{font-size:11.5px;font-weight:600;color:var(--gr3);text-transform:uppercase;letter-spacing:.04em}
.sf input{width:76px;padding:6px 8px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-family:var(--font-mono);color:var(--gr);background:var(--surface);outline:none;transition:border-color .15s}
.sf input:focus{border-color:var(--or)}
.sf.w input{width:122px}
.abtn{padding:6px 14px;background:var(--or);border:none;border-radius:6px;color:var(--white);font-size:13px;font-weight:700;font-family:var(--font-title);cursor:pointer;height:33px;transition:background .15s}
.abtn:hover{background:var(--or2)}
.emsg{font-size:12.5px;color:var(--red);margin-top:5px;display:none}
.shlbl{font-size:11.5px;font-weight:700;color:var(--gr3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-family:var(--font-title)}
.shr{display:flex;align-items:center;gap:6px;padding:6px 9px;background:var(--bg);border:1px solid var(--border);border-radius:6px;margin-bottom:4px}
.srd{font-family:var(--font-mono);font-size:11.5px;color:var(--gr3);min-width:68px}
.srn{font-family:var(--font-mono);font-size:13px;min-width:38px;color:var(--gr)}
.srb{flex:1;height:4px;background:var(--bg2);border-radius:2px;overflow:hidden;min-width:36px}
.srbf{height:100%;border-radius:2px;transition:width .3s}
.srp{font-family:var(--font-mono);font-size:12.5px;font-weight:600;min-width:36px;text-align:right}
.sdel{background:none;border:none;color:var(--gr3);cursor:pointer;font-size:13px;padding:2px 3px;border-radius:3px;flex-shrink:0}
.sdel:hover{color:var(--red)}

/* ══ MAPA ══ */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:7px}
.mc{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;cursor:pointer;transition:border-color .15s}
.mc:hover{border-color:var(--or)}

/* ══ CADERNO DE ERROS ══ */
.ec{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:7px}
.ech{display:flex;align-items:center;gap:8px;padding:10px 13px;cursor:pointer;user-select:none;transition:background .12s}
.ech:hover{background:var(--bg)}
.ec.open .ech{background:var(--red-bg)}
.ecbdy{display:none;border-top:1px solid var(--border);padding:12px}
.ec.open .ecbdy{display:block}

/* ══ DESEMPENHO SUB-TABS ══ */
.dtabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface);padding:0 16px}
.dtb{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--gr3);font-size:13.5px;font-family:var(--font-body);font-weight:500;cursor:pointer;transition:all .15s}
.dtb.on{color:var(--or-text);border-bottom-color:var(--or);font-weight:600}
.psec-t{font-family:var(--font-title);font-size:12.5px;font-weight:700;color:var(--gr3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}

/* ══ MODAL ══ */
.mo{display:none;position:fixed;inset:0;background:rgba(31,41,51,.4);z-index:500;align-items:flex-end;justify-content:center}
.mo.on{display:flex}
@media(min-width:600px){.mo{align-items:center}}
.mob{background:var(--surface);border-radius:16px 16px 0 0;padding:20px;width:100%;max-height:90vh;overflow-y:auto;position:relative}
@media(min-width:600px){.mob{border-radius:12px;max-width:480px;max-height:82vh}}
.mob h3{font-family:var(--font-title);font-size:15px;font-weight:700;color:var(--gr);margin-bottom:14px}
.mox{position:absolute;top:16px;right:16px;background:none;border:none;font-size:20px;color:var(--gr3);cursor:pointer;line-height:1}
.fld{margin-bottom:11px}
.fld label{display:block;font-size:12.5px;font-weight:600;color:var(--gr3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.fld input,.fld select,.fld textarea{width:100%;padding:9px 11px;border:1.5px solid var(--border);border-radius:7px;font-size:14px;font-family:var(--font-body);color:var(--gr);background:var(--surface);outline:none;transition:border-color .15s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--or)}
.fld textarea{resize:vertical;min-height:68px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.bp{padding:11px;background:var(--or);border:none;border-radius:8px;color:var(--white);font-size:14px;font-weight:700;font-family:var(--font-title);cursor:pointer;width:100%;transition:background .15s;margin-bottom:6px}
.bp:hover{background:var(--or2)}
.bs{padding:10px;background:var(--bg);border:1.5px solid var(--border);border-radius:8px;color:var(--gr);font-size:14px;font-family:var(--font-body);cursor:pointer;width:100%;transition:all .15s}
.bs:hover{border-color:var(--or);color:var(--or-text)}

/* ══ PERFIL / NOME ══ */
.nome-modal-wrap{padding:4px 0}
.nome-display{display:flex;align-items:center;gap:10px;padding:10px 13px;background:var(--bg);border-radius:8px;margin-bottom:12px}
.nome-display-txt{flex:1;font-size:14px;font-weight:600;color:var(--gr)}
.nome-edit-btn{background:none;border:1.5px solid var(--or);color:var(--or-text);border-radius:6px;font-size:12.5px;font-weight:600;font-family:var(--font-body);padding:4px 10px;cursor:pointer;transition:all .15s}
.nome-edit-btn:hover{background:var(--or);color:var(--white)}

/* ══ EMPTY STATE ══ */
.empty{text-align:center;padding:44px 16px;color:var(--gr3)}
.empty h3{font-family:var(--font-title);font-size:14px;font-weight:600;color:var(--gr2);margin-bottom:5px}
.empty p{font-size:13.5px;line-height:1.6}

/* ══ RESPONSIVE ══ */
@media(max-width:600px){
  .nav,.vhdr,.subbar,.sr,.pr,.ct{padding-left:12px;padding-right:12px}
  .vhdr-inner{padding:0}
  .dchips .chip,.dchips .qb{display:none}
  .gsum{grid-template-columns:repeat(2,1fr)}
}

/* ══ v3 — tema claro padrão, tema escuro, Arco de Maguerez funcional ══ */
:root{--or-text:#C2410C;--on-or:#1F2933;--surface:#FFFFFF;--nav-bg:#FFFFFF;--amber-t:#92400E;--green-t:#166534;color-scheme:light}
html[data-theme="dark"]{color-scheme:dark;--or-text:#FF8A3D;
  --gr:#F1F3F5;--gr2:#D3D8DE;--gr3:#98A2AE;--bg:#151B21;--bg2:#222B34;--surface:#1D252D;--nav-bg:#1D252D;
  --border:#33404C;--border2:#465463;--or-light:rgba(255,138,61,.13);--or-mid:rgba(255,138,61,.4);--amber-t:#FBBF24;--green-t:#4ADE80;
  --green:#4ADE80;--green-bg:rgba(34,197,94,.14);--green-bd:rgba(34,197,94,.34);
  --red:#F87171;--red-bg:rgba(239,68,68,.14);--red-bd:rgba(239,68,68,.34);
  --amber:#FBBF24;--amber-bg:rgba(245,158,11,.14);--amber-bd:rgba(245,158,11,.34);
  --blue:#60A5FA;--blue-bg:rgba(59,130,246,.15);--blue-bd:rgba(59,130,246,.36);
  --dom0-c:#9CA3AF;--dom0-bg:rgba(156,163,175,.12);--dom0-bd:rgba(156,163,175,.3);
  --dom1-c:#F87171;--dom1-bg:rgba(239,68,68,.14);--dom1-bd:rgba(239,68,68,.34);
  --dom2-c:#FBBF24;--dom2-bg:rgba(245,158,11,.14);--dom2-bd:rgba(245,158,11,.34);
  --dom3-c:#60A5FA;--dom3-bg:rgba(59,130,246,.15);--dom3-bd:rgba(59,130,246,.36);
  --dom4-c:#4ADE80;--dom4-bg:rgba(34,197,94,.14);--dom4-bd:rgba(34,197,94,.34)}
body{background:var(--bg);color:var(--gr)}
body::before{background:var(--nav-bg)}
.nav{background:var(--nav-bg);box-shadow:none;border-bottom:1px solid var(--border)}
.nav-logo{border-right:1px solid var(--border)}
.ntb{color:var(--gr3)}.ntb:hover{color:var(--gr)}.ntb.on{color:var(--gr);border-bottom-color:var(--or)}
.nav-right{display:flex;align-items:center;gap:6px;padding:0 10px;border-left:1px solid var(--border);flex-shrink:0}
.icon-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--surface);color:var(--gr2);border-radius:9px;cursor:pointer;transition:all .15s;font-family:var(--font-title);font-weight:700;font-size:14px}
.icon-btn:hover{border-color:var(--or);color:var(--or-text)}
.nome-btn{background:var(--or-light);border-color:var(--or-mid);color:var(--or-text);width:30px;height:30px;border-radius:50%}
html[data-theme="dark"] .nome-btn{color:var(--or-text)}
.vhdr{background:var(--surface);border-bottom:1px solid var(--border)}
.vhdr h2{color:var(--gr)}.vhdr p{color:var(--gr3)}
.vhdr-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.mini-link{background:none;border:none;color:var(--or-text);font:600 11.5px var(--font-body);cursor:pointer;padding:3px 0;text-decoration:underline;text-underline-offset:2px}
html[data-theme="dark"] .mini-link{color:var(--or-text)}
.hchip{background:var(--bg);border:1px solid var(--border);color:var(--gr3)}.hchip b{color:var(--gr)}
.hchip.accent{background:var(--or-light);border-color:var(--or-mid);color:var(--or-text)}.hchip.accent b{color:var(--or-text)}
html[data-theme="dark"] .hchip.accent,html[data-theme="dark"] .hchip.accent b{color:var(--or-text)}
.subbar{background:var(--bg)}
.user-bar{background:var(--bg);border-bottom:1px solid var(--border)}.ub-email{color:var(--gr3)}.ub-logout{border-color:var(--border);color:var(--gr2)}
.login-wrap{background:var(--bg)}.login-deco{opacity:.12}.login-deco2{opacity:.1}
.login-box{box-shadow:0 8px 30px rgba(31,41,51,.10);border:1px solid var(--border)}
.login-theme{position:absolute;top:12px;right:12px}
.l-inp:disabled,.l-btn:disabled{cursor:not-allowed}.l-inp:disabled{background:var(--bg);color:var(--gr3)}
.hoje-hero{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--or);border-radius:12px}
.hoje-hero-accent{display:none}
.hoje-greeting{color:var(--gr3);font-size:12px;text-transform:uppercase;letter-spacing:.07em}
.hoje-dia-title{color:var(--gr)}
.hoje-mtag{background:var(--bg);color:var(--gr2);border:1px solid var(--border)}
.hoje-mtag.accent{background:var(--or-light);color:var(--or-text);border-color:var(--or-mid)}
html[data-theme="dark"] .hoje-mtag.accent{color:var(--or-text)}
.hoje-hero-footer{border-top:1px solid var(--border)}
.hoje-q-big{color:var(--or-text)}.hoje-q-lbl{color:var(--gr3)}
.slist.boxed{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 12px;margin-bottom:12px}
.aviso{border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:13px;line-height:1.55;color:var(--gr2);background:var(--bg)}
.aviso.warn{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber-t)}
.aviso.ok{background:var(--green-bg);border-color:var(--green-bd);color:var(--green-t)}
.rotina-aviso{display:block;margin-top:12px;font-size:13px;line-height:1.55;border-radius:8px;padding:10px 12px;border:1px solid var(--border);background:var(--bg);color:var(--gr2)}
.rotina-aviso:empty{display:none}
.rotina-aviso.warn{background:var(--amber-bg);border-color:var(--amber-bd);color:var(--amber-t)}
.rotina-aviso.ok{background:var(--green-bg);border-color:var(--green-bd);color:var(--green-t)}
/* Arco de Maguerez */
.arco{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden}
.arco-hd{padding:11px 14px 0}.arco-hd h3{font-family:var(--font-title);font-size:12.5px;font-weight:700;color:var(--gr3);text-transform:uppercase;letter-spacing:.07em}
.arco-steps{display:flex;padding:6px 8px 0;overflow-x:auto;scrollbar-width:none}.arco-steps::-webkit-scrollbar{display:none}
.arco-btn{flex:1 0 auto;min-width:62px;padding:8px 6px 9px;background:none;border:none;border-bottom:3px solid var(--border);cursor:pointer;text-align:center;font-family:var(--font-body);color:var(--gr3);transition:all .15s}
.arco-btn:hover{color:var(--gr)}
.arco-btn .an{display:block;font:700 11.5px var(--font-mono)}.arco-btn .al{display:block;font-size:12.5px;font-weight:600}
.arco-btn.on{border-bottom-color:var(--or);color:var(--gr)}.arco-btn.on .an{color:var(--or-text)}
.arco-btn .sug{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--or);margin-left:4px;vertical-align:middle}
.arco-body{padding:14px;border-top:1px solid var(--border)}
.arco-q{font-family:var(--font-title);font-size:14px;font-weight:700;color:var(--gr);margin-bottom:5px;line-height:1.35}
.arco-meta{font-size:11.5px;color:var(--gr3);margin-bottom:9px;line-height:1.55}.arco-meta b{color:var(--gr2)}
.arco-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:13px;color:var(--gr2);line-height:1.6}
.arco-box .lbl{display:block;font:700 10.5px var(--font-title);letter-spacing:.07em;text-transform:uppercase;color:var(--gr3);margin-bottom:4px}
.arco-box ul{list-style:none}.arco-box li{padding:3px 0;border-bottom:1px dashed var(--border)}.arco-box li:last-child{border-bottom:none}
.arco-acts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.arco-nav{display:flex;justify-content:space-between;gap:8px;align-items:center;padding-top:10px;border-top:1px solid var(--border)}
.arco-sug{font-size:12.5px;color:var(--gr3);margin-top:9px;line-height:1.5}
.btn-or{padding:8px 14px;background:var(--or);color:#fff;border:none;border-radius:8px;font:700 13px var(--font-title);cursor:pointer;transition:background .15s}.btn-or:hover{background:var(--or2)}
.btn-ln{padding:8px 14px;background:var(--surface);color:var(--gr2);border:1.5px solid var(--border);border-radius:8px;font:600 13px var(--font-body);cursor:pointer;transition:all .15s}.btn-ln:hover{border-color:var(--or);color:var(--or-text)}
/* planejamento / revisão / retomada */
.plan-row{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--border);font-size:13.5px}
.plan-d{font-family:var(--font-mono);font-weight:700;min-width:58px;color:var(--gr)}.plan-date{color:var(--gr2);flex:1}
.plan-st{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid var(--border);color:var(--gr3)}
.plan-st.st-hoje{background:var(--or-light);border-color:var(--or-mid);color:var(--or-text)}.plan-st.st-atr{background:var(--red-bg);border-color:var(--red-bd);color:var(--red)}
html[data-theme="dark"] .plan-st.st-hoje{color:var(--or-text)}
.rv{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;margin-bottom:8px}
.rv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}
.rv-why{font-size:11.5px;color:var(--gr3);line-height:1.55;margin-bottom:4px}.rv-why b{color:var(--gr2)}
.rv-acts{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.ret-box{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:10px;font-size:13px;color:var(--gr2);line-height:1.55}
.store-note{font-size:12.5px;color:var(--gr3);text-align:center;margin:18px 0 4px;line-height:1.5}
/* toast */
.toast{position:fixed;left:50%;transform:translateX(-50%) translateY(16px);bottom:calc(18px + var(--sb));background:var(--gr);color:var(--bg);padding:11px 16px;border-radius:10px;font-size:13.5px;line-height:1.5;max-width:min(92vw,540px);z-index:900;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}.toast.warn{background:var(--or2);color:#fff}
/* configurações / rotina */
.seg{display:flex;border:1.5px solid var(--border);border-radius:9px;overflow:hidden}
.seg button{flex:1;padding:9px;background:var(--surface);border:none;color:var(--gr2);font:600 13.5px var(--font-body);cursor:pointer}
.seg button.on{background:var(--or);color:#fff}
.cfg-store{font-size:13px;color:var(--gr2);line-height:1.6;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}
.cfg-store ul{margin:6px 0 6px 16px}.cfg-store code{font-family:var(--font-mono);font-size:12.5px}
.cfg-msg{font-size:13px;color:var(--green-t);margin-top:8px;line-height:1.5}.cfg-msg.err{color:var(--red)}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gr2);margin-top:12px;cursor:pointer}
.dow{display:none;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:8px}
.dow button{padding:9px 0;border:1.5px solid var(--border);background:var(--surface);color:var(--gr2);border-radius:8px;font:600 12.5px var(--font-body);cursor:pointer}
.dow button.on{background:var(--or);border-color:var(--or);color:#fff}
.mob small{display:block;font-size:12.5px;color:var(--gr3);margin-top:4px;line-height:1.5}
.flash{animation:nxflash 1.8s ease}
@keyframes nxflash{0%,100%{box-shadow:0 0 0 0 transparent}25%{box-shadow:0 0 0 4px var(--or-mid)}}
@media(max-width:420px){.ntb{padding:12px 6px 11px;font-size:12px}.nav-right{padding:0 6px;gap:4px}.icon-btn{width:32px;height:32px}.nome-btn{width:28px;height:28px}}

/* contraste: texto grafite sobre o laranja da marca; laranja escuro só para texto sobre fundo claro */
.btn-or,.bp,.l-btn,.abtn,.hoje-done-btn,.sfb.on,.seg button.on,.dow button.on,.sc.acc,.sc.acc .sv,.sc.acc .sl,.toast.warn{color:var(--on-or)}
.hoje-done-btn.done{background:var(--green-bg);color:var(--green-t);border:1px solid var(--green-bd)}
.hoje-q-big{color:var(--gr)}
@media(max-width:380px){.ntb{padding:12px 4px 11px;font-size:11.5px}.nav-logo{padding:8px 7px}.nav-right{padding:0 5px;gap:3px}.icon-btn{width:30px;height:30px}.nome-btn{width:26px;height:26px}}
@media(max-width:600px){.vhdr{position:static}#hoje-ct>.sg{grid-template-columns:repeat(2,1fr)}}
@media(min-width:601px){#hoje-ct>.sg{grid-template-columns:repeat(4,1fr)}}


/* ══ v4 — plataforma comercial ══ */
:root{--or-btn:#C2410C;--or-btn-h:#9A3412;--pu:#6D28D9;--pu-bg:#EDE9FE;--pu-bd:#DDD6FE}
html[data-theme="dark"]{--pu:#C4B5FD;--pu-bg:rgba(139,92,246,.18);--pu-bd:rgba(139,92,246,.42)}
/* botões laranja: texto BRANCO sobre laranja escuro (contraste 5,2:1); o laranja da marca fica em destaques */
.btn-or,.bp,.l-btn,.abtn,.hoje-done-btn,.sfb.on,.seg button.on,.dow button.on,.sc.acc,.toast.warn{background:var(--or-btn);border-color:var(--or-btn);color:#fff}
.sc.acc .sv,.sc.acc .sl{color:#fff}
.btn-or:hover,.bp:hover,.l-btn:hover,.abtn:hover,.hoje-done-btn:hover{background:var(--or-btn-h);border-color:var(--or-btn-h);color:#fff}
.hoje-done-btn.done{background:var(--green-bg);color:var(--green-t);border:1px solid var(--green-bd)}
/* etiquetas de prioridade */
.cp{background:var(--red-bg);color:#B91C1C;border:1px solid var(--red-bd)}
.ci{background:var(--amber-bg);color:var(--amber-t);border:1px solid var(--amber-bd)}
.cc{background:var(--pu-bg);color:var(--pu);border:1px solid var(--pu-bd)}
html[data-theme="dark"] .cp{color:var(--red)}
/* navegação: 2 linhas no celular */
.nav{flex-wrap:wrap}.nav-logo{order:1}.nav-right{order:2;margin-left:auto}.nav-tabs{order:3}
.ntb .ls{display:none}.ntb .lf{display:inline}
@media(min-width:861px){.nav{flex-wrap:nowrap}.nav-tabs{order:2;flex:1}.nav-right{order:3;margin-left:0}}
@media(max-width:860px){.nav-tabs{flex:0 0 100%;border-top:1px solid var(--border)}.nav-right{border-left:none}.ntb{flex:1 1 auto}}
@media(max-width:520px){.ntb .lf{display:none}.ntb .ls{display:inline}.ntb{padding:12px 6px 11px;font-size:12.5px}}
.sync{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--gr3);padding:0 4px;white-space:nowrap}
.sync i{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}
.sync.salvando i{background:var(--or);animation:nxp 1s infinite}.sync.offline i{background:var(--red)}.sync.offline{color:var(--red)}
@keyframes nxp{50%{opacity:.3}}
@media(max-width:520px){.sync b{display:none}}
.etapa-tag{display:inline-block;font:600 11.5px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--gr3);border:1px solid var(--border);border-radius:20px;padding:2px 9px;margin-bottom:6px}
/* cronograma */
.dtit{white-space:normal;overflow:visible;text-overflow:clip}
.dtags{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:5px}
.dsub{font-size:11.5px;color:var(--gr3);margin-top:6px;line-height:1.5}.dsub b{color:var(--gr2);font-weight:600}
.dch{align-items:flex-start}
/* hoje */
.reg-grid{display:grid;grid-template-columns:1fr;gap:8px}
details.plano-det{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:12px}
details.plano-det>summary{cursor:pointer;padding:11px 14px;font-size:13.5px;color:var(--gr2);list-style:none;display:flex;justify-content:space-between;gap:8px;align-items:center}
details.plano-det>summary::-webkit-details-marker{display:none}
details.plano-det>summary::after{content:'▾';color:var(--gr3);font-size:12.5px}
details.plano-det[open]>summary{border-bottom:1px solid var(--border)}
details.plano-det .card{border:none;margin:0;border-radius:0}
.hint{font-size:12.5px;color:var(--gr3)}
.chart-empty{padding:26px 12px;text-align:center;font-size:13.5px;color:var(--gr3);background:var(--bg);border:1px dashed var(--border);border-radius:8px;line-height:1.6}
.bw{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
@media(max-width:600px){.bw{grid-template-columns:1fr}}
.bw-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:11px 13px}
.bw-box h4{font:700 11.5px var(--font-title);letter-spacing:.07em;text-transform:uppercase;color:var(--gr3);margin-bottom:6px}
.bw-row{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13.5px;cursor:pointer}.bw-row:last-child{border-bottom:none}
.bw-row b{font-family:var(--font-mono)}
.ini-box{background:var(--or-light);border:1px solid var(--or-mid);border-radius:10px;padding:12px 14px;margin-bottom:14px;font-size:13.5px;color:var(--gr2);line-height:1.6}
/* aba Arco de Maguerez */
.ac-intro{font-size:14px;color:var(--gr2);line-height:1.6;margin-bottom:14px}
.ac-step{display:flex;gap:12px;position:relative;padding-bottom:14px}
.ac-step:not(:last-child)::before{content:'';position:absolute;left:15px;top:34px;bottom:0;width:2px;background:var(--border)}
.ac-num{width:32px;height:32px;border-radius:50%;background:var(--or-light);border:2px solid var(--or);color:var(--or-text);display:flex;align-items:center;justify-content:center;font:700 14px var(--font-mono);flex-shrink:0;background-clip:padding-box}
.ac-card{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px}
.ac-card h3{font-family:var(--font-title);font-size:14px;color:var(--gr)}
.ac-card .obj{font-size:13.5px;color:var(--gr2);margin:3px 0 6px;line-height:1.5}
.ac-card .ar{font-size:11.5px;color:var(--gr3);margin-bottom:4px}.ac-card .ar b{color:var(--gr2)}
.ac-card .st{font-size:11.5px;color:var(--gr2);background:var(--bg);border-radius:6px;padding:6px 9px;margin-bottom:9px;line-height:1.5}
.ac-acts{display:flex;gap:7px;flex-wrap:wrap}
/* carregamento */
#boot{display:none;position:fixed;inset:0;background:var(--bg);z-index:950;align-items:center;justify-content:center;padding:24px}
body.boot #boot{display:flex}body.boot #app-main{visibility:hidden}
.boot-box{text-align:center;max-width:360px}.boot-box img{height:54px;margin-bottom:14px}.boot-box p{font-size:13.5px;color:var(--gr2);line-height:1.6;margin-bottom:12px}
.acct{font-size:13px;color:var(--gr2);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:8px;line-height:1.6}

.trk-link{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface);margin:12px 0}
.trk-link div{display:flex;flex-direction:column;gap:2px;font-size:14px}.trk-link span{color:var(--gr3);font-size:13px}
.sedit{background:none;border:1px solid var(--border);color:var(--gr2);cursor:pointer;font-size:12.5px;padding:2px 7px;border-radius:5px}
.sedit:hover{border-color:var(--or-text);color:var(--or-text)}

.pie-wrap{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.pie-leg{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}
.pie-leg li{display:flex;align-items:center;gap:8px}.pie-leg i{width:12px;height:12px;border-radius:3px;flex:none}
.pie-leg span{color:var(--gr3);margin-left:4px}

/* cabeçalho: logo centralizada; abas na linha de baixo */
.nav{display:block;padding:var(--st) 0 0}
.nav-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 10px;gap:8px}
.nav-left{display:flex;align-items:center;min-width:0}
.nav-logo{background:none;border:0;border-right:0;cursor:pointer;padding:4px 8px;border-radius:8px;justify-self:center;color:inherit}
.nav-logo:hover{background:var(--bg)}.nav-logo:focus-visible{outline:2px solid var(--or-text);outline-offset:2px}
.nav .nav-right{border-left:0;padding:0;justify-self:end;margin-left:0}
.nav .nav-tabs{display:flex;flex:none;border-top:1px solid var(--border);justify-content:center;overflow-x:auto}
.nav .ntb{flex:0 1 auto;padding:12px 18px 11px;font-size:13.5px}
@media(max-width:860px){.nav .ntb{flex:1 1 auto;padding:12px 8px 11px}}
@media(max-width:520px){.nav-logo .nx-txt{display:flex}.nav .ntb{padding:12px 4px 11px;font-size:12.5px}}
@media(max-width:400px){.nav-logo .nx-txt{display:none}}

.prep-sel{max-width:100%;min-width:0;padding:7px 28px 7px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--gr);font:600 13.5px var(--font-body)}
.prep-nome{font:600 13.5px var(--font-body);color:var(--gr3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prep-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.prep-links-t{font:600 12.5px var(--font-body);color:var(--gr3);text-transform:uppercase;letter-spacing:.05em;width:100%}
.prep-links a{font-size:13.5px;color:var(--or-text);border:1px solid var(--border);border-radius:20px;padding:4px 11px;text-decoration:none;background:var(--surface)}
.prep-links a:hover{border-color:var(--or-text)}
@media(max-width:520px){.prep-nome{display:none}.prep-sel{max-width:150px;font-size:13px;padding:7px 20px 7px 8px;text-overflow:ellipsis}}

/* tela inicial interna */
.nav.nav-home .nav-tabs{display:none}
.inicio{max-width:760px;margin:0 auto;padding:28px 16px 40px}
.inicio-t{font:800 26px/1.2 var(--font-title);letter-spacing:-.02em;color:var(--gr);margin:0 0 6px}
.inicio-s{font-size:15.5px;color:var(--gr3);margin:0 0 20px}
.trilhas{display:grid;gap:14px}
@media(min-width:700px){.trilhas{grid-template-columns:repeat(2,1fr)}}
.trilha{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:6px}
.trilha.atual{border-color:var(--or)}
.trilha h3{font:800 20px/1.25 var(--font-title);margin:0;color:var(--gr)}
.trilha-m{font-size:13.5px;font-weight:600;color:var(--gr3)}
.trilha-d{font-size:14.5px;color:var(--gr2);line-height:1.6;margin:4px 0 8px}
.trilha-b{margin-top:auto;align-self:flex-start;padding:11px 18px;font-size:14.5px}

.nav-left{position:relative}.nav-user{width:38px;height:38px}
.user-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:190px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 30px -10px rgba(15,23,42,.3);padding:6px;z-index:60}
.user-menu[hidden]{display:none}
.user-menu button{display:block;width:100%;text-align:left;background:none;border:0;padding:11px 12px;border-radius:8px;font:600 14.5px var(--font-body);color:var(--gr);cursor:pointer}
.user-menu button:hover,.user-menu button:focus-visible{background:var(--bg)}
/* prioridades (planejamento): prioritário vermelho suave, intermediário laranja, complementar amarelo, baixa/revisão cinza */
.ci{background:#FFEDD5;color:#9A3412;border:1px solid #FDBA74}
.cc{background:#FEF9C3;color:#854D0E;border:1px solid #FDE047}
.cr{background:#F1F5F9;color:#475569;border:1px solid #CBD5E1}
html[data-theme="dark"] .ci{background:rgba(251,146,60,.16);color:#FDBA74;border-color:rgba(251,146,60,.4)}
html[data-theme="dark"] .cc{background:rgba(250,204,21,.14);color:#FDE047;border-color:rgba(250,204,21,.38)}
html[data-theme="dark"] .cr{background:rgba(148,163,184,.14);color:#CBD5E1;border-color:rgba(148,163,184,.35)}
.prio-leg{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:12.5px;color:var(--gr3);margin:0 0 10px}
/* títulos, botões e abas em Sansation; texto corrido e números em Roboto */
h1,h2,h3,h4,.btn-or,.l-btn,.bp,.ntb,.eyebrow,.trilha h3,.user-menu button{font-family:var(--font-title)}
/* flashcards */
.fl-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}
.fl-tab{flex:0 0 auto;background:var(--surface);border:1.5px solid var(--border);border-radius:20px;padding:8px 14px;font:700 13.5px var(--font-title);color:var(--gr2);cursor:pointer}
.fl-tab.on{background:var(--gr);color:#fff;border-color:var(--gr)}
.fl-filtros{display:grid;gap:8px;margin-bottom:10px}@media(min-width:760px){.fl-filtros{grid-template-columns:2fr 1.4fr 1.4fr 1fr}}
.fl-mentoria{font-size:12.5px;color:var(--gr3);align-self:center}
.fl-cont{font-size:13px;color:var(--gr3);margin:6px 0 10px}
.fl-card,.fl-rec,.fl-form,.fl-rev{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:10px}
.fl-ch{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.fl-meta{font-size:12.5px;color:var(--gr3);font-weight:600}
.fl-frente{font:700 16px/1.4 var(--font-title);margin:8px 0}
.fl-big{font:700 20px/1.45 var(--font-title);margin:14px 0 16px}
.fl-verso{background:var(--bg);border-radius:10px;padding:12px;margin:8px 0;font-size:14.5px;line-height:1.6}
.fl-vl{font:700 11.5px var(--font-title);text-transform:uppercase;letter-spacing:.06em;color:var(--gr3);margin-bottom:4px}
.fl-ref{font-size:12.5px;color:var(--gr3);margin-top:8px}
.fl-acoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.fl-ex{padding:8px 14px;background:var(--red-bg);border:1px solid var(--red-bd);border-radius:8px;font-size:13px;color:var(--red);cursor:pointer;font-family:var(--font-body)}
.fl-rvinfo{font-size:12.5px;color:var(--gr3);margin-top:8px}
.fl-st{flex:0 0 auto;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:20px;border:1px solid var(--border);background:var(--bg);color:var(--gr2)}
.fl-st-para_revisar{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-bd)}.fl-st-em_dia{background:var(--green-bg);color:var(--green);border-color:var(--green-bd)}
.fl-mot{margin:8px 0 0 18px;font-size:14px;line-height:1.55}
.fl-intro,.fl-dica{font-size:14px;color:var(--gr3);margin:0 0 12px;line-height:1.55}
.fl-orig{background:var(--amber-bg);border:1px solid var(--amber-bd);border-radius:10px;padding:10px 12px;font-size:13.5px;margin-bottom:12px}
.fl-dupbox{background:var(--amber-bg);border:1px solid var(--amber-bd);border-radius:10px;padding:12px;font-size:14px;margin-top:10px}
.fl-prog{font-size:12.5px;color:var(--gr3);margin-bottom:6px}.fl-q{font:700 15px var(--font-title);margin-top:12px}
.fl-sair{background:none;border:0;color:var(--gr3);text-decoration:underline;cursor:pointer;margin-top:14px;font-size:13px}
.fl-disp{margin-top:18px}.fl-disp-i{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--border);padding:8px 0;font-size:13.5px}
.fl-adbox{margin-top:14px;border-top:1px solid var(--border);padding-top:10px}.fl-ad{font-size:13.5px;line-height:1.55;margin-bottom:6px}
.fl-erro{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.fl-dia{margin-top:6px}.fl-dia-i{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;padding:4px 0}
.fl-hintline{font-size:13.5px;color:var(--gr2);margin-top:8px}.fl-hintline a{color:var(--or-text);font-weight:700}
.fl-form textarea,.fl-form input,.fl-form select{width:100%}
