:root{--bg: #0a0e13;--surface-1: #10161d;--surface-2: #161f28;--surface-3: #1d2833;--hairline: rgba(255, 255, 255, .07);--hairline-strong: rgba(255, 255, 255, .12);--text: #e9eef4;--text-soft: #b4c1cf;--text-mut: #7d8b9c;--text-dim: #56626f;--brand: #4aa8ff;--brand-soft: rgba(74, 168, 255, .14);--brand-line: rgba(74, 168, 255, .35);--track-ingles: #5b9dff;--track-ia: #b28bff;--track-projetos: #3ed6a3;--ok: #3ed6a3;--ok-bg: rgba(62, 214, 163, .13);--info: #5b9dff;--info-bg: rgba(91, 157, 255, .13);--warn: #f2b45e;--warn-bg: rgba(242, 180, 94, .14);--danger: #ff6b7a;--danger-bg: rgba(255, 107, 122, .13);--neutral: #8797a6;--neutral-bg: rgba(135, 151, 166, .12);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--shadow-1: 0 1px 2px rgba(0,0,0,.3);--shadow-2: 0 8px 24px -8px rgba(0,0,0,.55);--shadow-3: 0 24px 60px -20px rgba(0,0,0,.7);--ring: 0 0 0 3px var(--brand-soft);--sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1);--spring: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);background:radial-gradient(1200px 600px at 80% -10%,rgba(74,168,255,.06),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(178,139,255,.05),transparent 60%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:var(--brand);text-decoration:none}::selection{background:var(--brand-soft)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:20px;border:3px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#2b3a48;background-clip:content-box}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fade-up .35s var(--spring) both}.app{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,var(--surface-1),var(--bg));border-right:1px solid var(--hairline);padding:22px 16px;display:flex;flex-direction:column;gap:6px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 20px}.brand-mark{width:34px;height:34px;border-radius:10px;flex:none;background:linear-gradient(135deg,var(--brand),#7c5bff);display:grid;place-items:center;font-weight:800;color:#fff;box-shadow:0 6px 18px -6px #4aa8ff99}.brand-name{font-weight:700;letter-spacing:-.01em;line-height:1.1}.brand-sub{font-size:11px;color:var(--text-dim)}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--r-md);color:var(--text-mut);font-weight:550;width:100%;text-align:left;transition:background .16s var(--ease),color .16s var(--ease)}.nav-item .ic{width:18px;text-align:center;font-size:15px;opacity:.9}.nav-item:hover{background:var(--surface-2);color:var(--text-soft)}.nav-item.active{background:var(--brand-soft);color:#cfe4ff}.nav-item .count{margin-left:auto;font-size:11px;font-weight:700;background:var(--surface-3);color:var(--text-soft);min-width:20px;height:20px;padding:0 6px;border-radius:20px;display:grid;place-items:center}.nav-item.active .count{background:var(--brand);color:#fff}.nav-item .count.alert{background:var(--danger);color:#fff}.sidebar-foot{margin-top:auto;border-top:1px solid var(--hairline);padding-top:14px}.me{display:flex;align-items:center;gap:10px;padding:4px 6px}.me-info{min-width:0}.me-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-role{font-size:11px;color:var(--text-dim)}.linklike{color:var(--text-dim);font-size:12px;padding:8px 6px 0}.linklike:hover{color:var(--text-soft)}.main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:22px 30px 14px}.topbar h1{font-size:21px;font-weight:720;letter-spacing:-.02em}.topbar .sub{color:var(--text-mut);font-size:13px;margin-top:2px}.topbar-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.content{padding:8px 30px 48px;flex:1}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:var(--r-md);font-weight:600;font-size:13px;border:1px solid var(--hairline-strong);background:var(--surface-2);color:var(--text-soft);transition:transform .12s var(--ease),background .16s,border-color .16s,box-shadow .16s;white-space:nowrap}.btn:hover{background:var(--surface-3);color:var(--text)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn.primary{background:linear-gradient(135deg,var(--brand),#5f7dff);color:#fff;border-color:transparent;box-shadow:0 8px 20px -8px #4aa8ffa6}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-mut)}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{color:var(--danger);border-color:transparent;background:transparent}.btn.danger:hover{background:var(--danger-bg)}.btn.sm{padding:6px 11px;font-size:12px;border-radius:var(--r-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn .spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:650;letter-spacing:.01em;background:var(--neutral-bg);color:var(--neutral);white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.neutral{background:var(--neutral-bg);color:var(--neutral)}.badge.track{background:color-mix(in srgb,var(--tc) 15%,transparent);color:var(--tc)}.avatar{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),#7c5bff);box-shadow:inset 0 0 0 1px #ffffff1f}.avatar.sm{width:24px;height:24px;font-size:10px}.avatar.lg{width:40px;height:40px;font-size:14px}.avatar.mentorado{background:linear-gradient(135deg,#3ed6a3,#2ea8ff)}.card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card.pad{padding:18px}.section-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:4px 0 12px}.grid{display:grid;gap:16px}.stat-row{grid-template-columns:repeat(4,1fr)}.dash-cols{grid-template-columns:1.4fr 1fr;align-items:start}@media (max-width: 1080px){.stat-row{grid-template-columns:repeat(2,1fr)}.dash-cols{grid-template-columns:1fr}}.stat{padding:16px 18px;position:relative;overflow:hidden;transition:transform .18s var(--spring),border-color .18s}.stat:hover{transform:translateY(-2px);border-color:var(--hairline-strong)}.stat .k{font-size:12px;color:var(--text-mut);font-weight:600;display:flex;align-items:center;gap:7px}.stat .v{font-size:30px;font-weight:760;letter-spacing:-.03em;margin-top:6px;line-height:1}.stat .cap{font-size:12px;color:var(--text-dim);margin-top:6px}.stat .glow{position:absolute;right:-20px;top:-20px;width:90px;height:90px;border-radius:50%;filter:blur(26px);opacity:.5}.stat.accent-danger .v{color:var(--danger)}.stat.accent-warn .v{color:var(--warn)}.stat.accent-ok .v{color:var(--ok)}.mini-list{display:flex;flex-direction:column}.mini-item{display:flex;align-items:center;gap:11px;padding:11px 6px;border-top:1px solid var(--hairline);cursor:pointer;transition:background .14s;border-radius:8px}.mini-item:first-child{border-top:none}.mini-item:hover{background:var(--surface-2)}.mini-item .t{flex:1;min-width:0}.mini-item .t .title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-item .t .meta{font-size:11.5px;color:var(--text-dim);margin-top:1px}.track-tick{width:3px;align-self:stretch;border-radius:3px;background:var(--tc);flex:none}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px}.seg{display:inline-flex;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);padding:3px;gap:2px}.seg button{padding:6px 12px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--text-mut);transition:background .14s,color .14s;display:inline-flex;align-items:center;gap:6px}.seg button:hover{color:var(--text-soft)}.seg button.on{background:var(--surface-3);color:var(--text)}.seg button.on.track{color:var(--tc);background:color-mix(in srgb,var(--tc) 14%,transparent)}.spacer{flex:1}.search{display:flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);padding:8px 12px;min-width:200px}.search input{background:none;border:none;outline:none;width:100%}.search input::placeholder{color:var(--text-dim)}.board{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}@media (max-width: 1180px){.board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 680px){.board{grid-template-columns:1fr}}.col-head{display:flex;align-items:center;gap:8px;padding:4px 4px 10px}.col-head .name{font-weight:700;font-size:13px}.col-head .n{font-size:11px;color:var(--text-dim);background:var(--surface-2);padding:1px 8px;border-radius:20px}.col-head .bar{height:3px;border-radius:3px;flex:1}.col-body{display:flex;flex-direction:column;gap:10px;min-height:40px}.task{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-md);padding:13px;cursor:pointer;transition:transform .16s var(--spring),border-color .16s,box-shadow .16s;animation:fade-up .3s var(--spring) both;position:relative}.task:hover{transform:translateY(-2px);border-color:var(--hairline-strong);box-shadow:var(--shadow-2)}.task.overdue{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.task .row1{display:flex;align-items:center;gap:8px;margin-bottom:8px}.task .title{font-weight:620;line-height:1.35;letter-spacing:-.01em}.task .desc{font-size:12.5px;color:var(--text-mut);margin-top:5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task .foot{display:flex;align-items:center;gap:8px;margin-top:11px}.task .foot .right{margin-left:auto;display:flex;align-items:center;gap:8px}.prio-dot{width:8px;height:8px;border-radius:50%;flex:none}.prio-dot.alta{background:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.prio-dot.media{background:var(--info)}.prio-dot.baixa{background:var(--neutral)}.chip-icon{font-size:13px}.comment-pip{font-size:11.5px;color:var(--text-dim);display:inline-flex;align-items:center;gap:3px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#04070a99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;animation:fade-in .2s ease both}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(560px,94vw);background:var(--surface-1);border-left:1px solid var(--hairline-strong);box-shadow:var(--shadow-3);z-index:41;display:flex;flex-direction:column;animation:slide-in .32s var(--spring) both}@keyframes slide-in{0%{transform:translate(30px);opacity:0}to{transform:none;opacity:1}}.drawer-head{padding:20px 22px 16px;border-bottom:1px solid var(--hairline)}.drawer-head .row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.drawer-head h2{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.3}.drawer-body{flex:1;overflow-y:auto;padding:20px 22px}.drawer-foot{border-top:1px solid var(--hairline);padding:14px 18px;background:var(--surface-1)}.field{margin-bottom:16px}.field>label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-dim);margin-bottom:7px}.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.meta-cell .lab{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.meta-cell .val{margin-top:4px;font-weight:600}.prose{color:var(--text-soft);line-height:1.6;white-space:pre-wrap}.timeline{display:flex;flex-direction:column;gap:2px;margin-top:4px}.tl-item{display:flex;gap:11px;padding:10px 0}.tl-rail{display:flex;flex-direction:column;align-items:center}.tl-node{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;background:var(--surface-3);flex:none}.tl-line{width:2px;flex:1;background:var(--hairline);margin:4px 0}.tl-body{flex:1;padding-bottom:4px}.tl-body .who{font-size:12px}.tl-body .who b{font-weight:650}.tl-body .who .when{color:var(--text-dim)}.tl-body .txt{margin-top:4px;color:var(--text-soft);white-space:pre-wrap;line-height:1.55}.tl-body.kind-feedback .txt,.tl-body.kind-devolucao .txt{background:var(--warn-bg);border-left:2px solid var(--warn);padding:8px 11px;border-radius:0 8px 8px 0}.att-list{display:flex;flex-direction:column;gap:6px}.att{display:flex;align-items:center;gap:4px}.att-main{flex:1;display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);padding:8px 11px;text-align:left;transition:background .14s,border-color .14s}.att-main:hover{background:var(--surface-3);border-color:var(--hairline-strong)}.att-ic{font-size:17px;flex:none}.att-info{flex:1;min-width:0;display:flex;flex-direction:column}.att-name{font-weight:550;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-meta{font-size:11px;color:var(--text-dim)}.att-dl{color:var(--text-dim);font-size:15px;flex:none}.att-main:hover .att-dl{color:var(--brand)}.att-del{color:var(--text-dim);padding:6px 8px;border-radius:8px;flex:none;transition:color .14s,background .14s}.att-del:hover{color:var(--danger);background:var(--danger-bg)}.input,.textarea,.select{width:100%;background:var(--surface-2);border:1px solid var(--hairline-strong);border-radius:var(--r-md);padding:10px 12px;outline:none;color:var(--text);transition:border-color .16s,box-shadow .16s,background .16s}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand-line);box-shadow:var(--ring);background:var(--surface-1)}.input::placeholder,.textarea::placeholder{color:var(--text-dim)}.textarea{resize:vertical;min-height:84px;line-height:1.55}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%237d8b9c' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.pickrow{display:flex;gap:8px;flex-wrap:wrap}.pick{padding:8px 13px;border-radius:var(--r-md);font-size:13px;font-weight:600;border:1px solid var(--hairline-strong);background:var(--surface-2);color:var(--text-mut);transition:all .14s var(--ease);display:inline-flex;align-items:center;gap:7px}.pick:hover{color:var(--text)}.pick.on{color:#fff;border-color:transparent}.pick.on[data-tone=track]{background:color-mix(in srgb,var(--tc) 22%,var(--surface-2));color:var(--tc);border-color:color-mix(in srgb,var(--tc) 40%,transparent)}.pick.on[data-tone=danger]{background:var(--danger-bg);color:var(--danger)}.pick.on[data-tone=info]{background:var(--info-bg);color:var(--info)}.pick.on[data-tone=neutral]{background:var(--neutral-bg);color:var(--text)}.track-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 1080px){.track-grid{grid-template-columns:1fr}}.track-card{padding:0;overflow:hidden}.track-card .head{padding:18px 18px 14px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 12%,transparent),transparent)}.track-card .head .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:color-mix(in srgb,var(--tc) 18%,var(--surface-2))}.track-card .head .hl{font-size:12px;color:var(--tc);font-weight:700}.track-card .head h3{font-size:16px;font-weight:700}.track-card .prog{height:6px;background:var(--surface-3)}.track-card .prog i{display:block;height:100%;background:var(--tc);transition:width .5s var(--spring)}.track-card .body{padding:14px 18px 18px}.track-card .summary{color:var(--text-mut);font-size:13px;line-height:1.55;margin-bottom:12px}.ms{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--hairline)}.ms:first-child{border-top:none}.ms .check{width:20px;height:20px;border-radius:6px;flex:none;margin-top:1px;border:1.5px solid var(--hairline-strong);display:grid;place-items:center;transition:all .16s var(--spring);cursor:pointer;color:transparent}.ms .check:hover{border-color:var(--tc)}.ms .check.on{background:var(--tc);border-color:var(--tc);color:#06121a}.ms .m-body{flex:1;min-width:0}.ms .m-title{font-weight:550;transition:color .16s}.ms.done .m-title{color:var(--text-dim);text-decoration:line-through}.ms .m-detail{font-size:12px;color:var(--text-dim);margin-top:2px}.ms .m-del{opacity:0;color:var(--text-dim);transition:opacity .14s;padding:2px 6px}.ms:hover .m-del{opacity:1}.ms .m-del:hover{color:var(--danger)}.ring{--p: 0;width:44px;height:44px;flex:none;position:relative}.ring svg{transform:rotate(-90deg)}.ring .num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:11px;font-weight:800}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:400px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-xl);padding:34px 32px;box-shadow:var(--shadow-3);animation:pop .4s var(--spring) both}.auth-card .brand{justify-content:center;padding-bottom:8px}.auth-card h2{text-align:center;font-size:20px;font-weight:720;letter-spacing:-.02em}.auth-card .lead{text-align:center;color:var(--text-mut);font-size:13px;margin:6px 0 24px}.auth-card .field{margin-bottom:14px}.auth-error{background:var(--danger-bg);color:var(--danger);padding:10px 13px;border-radius:var(--r-md);font-size:13px;margin-bottom:14px}.auth-note{text-align:center;color:var(--text-dim);font-size:12px;margin-top:18px;line-height:1.5}.empty{text-align:center;padding:44px 20px;color:var(--text-dim)}.empty .em-ic{font-size:30px;margin-bottom:10px;opacity:.6}.empty .em-t{font-weight:600;color:var(--text-mut)}.empty .em-s{font-size:13px;margin-top:4px}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--text-dim)}.big-spin{width:30px;height:30px;border-radius:50%;border:3px solid var(--surface-3);border-top-color:var(--brand);animation:spin .8s linear infinite}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--text-mut)}.dim{color:var(--text-dim)}.stack{display:flex;flex-direction:column}.hstack{display:flex;align-items:center;gap:8px}.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px}.toast{background:var(--surface-3);border:1px solid var(--hairline-strong);padding:11px 16px;border-radius:var(--r-md);box-shadow:var(--shadow-2);font-size:13px;font-weight:550;animation:fade-up .3s var(--spring) both;display:flex;align-items:center;gap:9px}.toast.ok{border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.toast.err{border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;display:grid;place-items:center;padding:24px}.modal-card{width:min(540px,96vw);max-height:90vh;overflow:auto;background:var(--surface-1);border:1px solid var(--hairline-strong);border-radius:var(--r-xl);box-shadow:var(--shadow-3);padding:24px;animation:pop .3s var(--spring) both}.modal-card h2{font-size:18px;font-weight:720;letter-spacing:-.02em}.setup-banner{max-width:620px;margin:10vh auto;padding:30px;background:var(--surface-1);border:1px solid var(--warn);border-radius:var(--r-xl)}.setup-banner h2{font-size:19px;margin-bottom:10px}.setup-banner code{background:var(--surface-3);padding:2px 7px;border-radius:6px;font-size:12.5px}.setup-banner ol{margin:14px 0 0 18px;line-height:1.9;color:var(--text-soft)}
