:root{--bg:#f6f2ff;--surface:#fff;--soft:#eee7ff;--ink:#2a1f4e;--muted:#6f6690;--line:#e1d8f6;--brand:#7a4dff;--brand-ink:#fff;--ok:#12a66a;--ok-bg:#d6f7e7;--warn:#b86a00;--warn-bg:#ffe9bf;--wait:#2563eb;--wait-bg:#dce8ff;--no:#c81e1e;--no-bg:#ffe0e0;--on-color:#2a1f4e;--shadow:0 6px 0 #2a1f4e1a;--display:"Baloo 2","Trebuchet MS",system-ui,sans-serif;--body:"Nunito","Segoe UI",system-ui,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17122b;--surface:#221a3f;--soft:#2c2250;--ink:#f1ecff;--muted:#a99fcb;--line:#3a2e66;--brand:#a78bff;--brand-ink:#17122b;--ok:#4ade9a;--ok-bg:#123d2c;--warn:#ffc25c;--warn-bg:#4a3410;--wait:#8fb4ff;--wait-bg:#1b2c55;--no:#ff8f8f;--no-bg:#4a1a22;--shadow:0 6px 0 #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#17122b;--surface:#221a3f;--soft:#2c2250;--ink:#f1ecff;--muted:#a99fcb;--line:#3a2e66;--brand:#a78bff;--brand-ink:#17122b;--ok:#4ade9a;--ok-bg:#123d2c;--warn:#ffc25c;--warn-bg:#4a3410;--wait:#8fb4ff;--wait-bg:#1b2c55;--no:#ff8f8f;--no-bg:#4a1a22;--shadow:0 6px 0 #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;font-weight:500;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}:focus-visible{outline:3px solid var(--brand);outline-offset:2px}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}.app{grid-template-columns:210px minmax(0,1fr);gap:28px;max-width:1080px;margin:0 auto;padding-block:24px 48px;padding-inline:20px;display:grid}.side{top:calc(env(safe-area-inset-top,0px) + 24px);flex-direction:column;align-self:start;gap:18px;display:flex;position:sticky}.logo{font-family:var(--display);color:var(--brand);font-size:26px;font-weight:800;line-height:1}.logo small{font-family:var(--body);color:var(--muted);margin-top:6px;font-size:13px;font-weight:700;display:block}.nav{flex-direction:column;gap:8px;display:flex}.nav button{text-align:left;color:var(--muted);border-radius:999px;align-items:center;gap:10px;padding:11px 14px;font-weight:800;display:flex}.nav button:hover{background:var(--soft);color:var(--ink)}.nav button[aria-current=page]{background:var(--brand);color:var(--brand-ink);box-shadow:var(--shadow)}.nav svg{flex:none;width:20px;height:20px}.sync{color:var(--muted);align-items:center;gap:7px;padding-left:6px;font-size:12.5px;font-weight:700;display:flex}.sync i{background:var(--muted);border-radius:50%;flex:none;width:9px;height:9px}.sync.on i{background:var(--ok)}.sync.off i{background:var(--warn)}main{flex-direction:column;gap:22px;min-width:0;display:flex}.hello{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:800}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;display:flex}.top h1{font-size:clamp(28px,5vw,40px);font-weight:800}.weeknav{align-items:center;gap:8px;display:flex}.round{background:var(--surface);border:2px solid var(--line);border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:grid}.round:hover{border-color:var(--brand)}.pill{background:var(--surface);border:2px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:800}.pill:hover{border-color:var(--brand)}.pill.solid{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.meter{background:var(--soft);border-radius:999px;height:14px;overflow:hidden}.meter b{background:linear-gradient(90deg,#ff5da2,#ffb13d,#4fd1b5);border-radius:999px;height:100%;transition:width .35s;display:block}.weekline{color:var(--muted);align-items:center;gap:12px;font-size:14px;font-weight:800;display:flex}.weekline .meter{flex:1}.exam{color:var(--on-color);box-shadow:var(--shadow);background:linear-gradient(90deg,#ff4f9a,#ff9a3d);border-radius:22px;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 18px;font-size:19px;font-weight:800;line-height:1.25;display:flex}.exam span{color:var(--on-color);font-weight:700}.exam b{font-weight:800}.exam.vazio{background:linear-gradient(90deg,var(--soft),var(--surface));box-shadow:none;border:1.5px solid var(--line);border-radius:14px;gap:8px 10px;padding:5px 8px;font-size:13.5px;font-weight:700}.exam.vazio span{color:var(--muted)}.exam.vazio .pill.solid{border:1.5px solid var(--line);color:var(--muted);background:0 0;padding:2px 11px;font-size:12.5px}.exam.vazio .pill.solid:hover{border-color:var(--brand);color:var(--ink)}.exams{flex-direction:column;gap:8px;display:flex}.exams.varios .exam{border-radius:18px;padding:8px 14px;font-size:16.5px}.exams.varios .exam .pill.solid{padding:5px 13px;font-size:13.5px}.exam .pill.solid{background:var(--on-color);border-color:var(--on-color);color:#fff;font-size:15px}.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.day{text-align:center;color:var(--on-color);background:var(--c);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;transition:transform .15s;display:flex;position:relative}.day:hover{transform:translateY(-3px)}.day .a{font-family:var(--display);font-size:19px;font-weight:800;line-height:1}.day .d{opacity:.8;font-size:12.5px;font-weight:800}.day .n{font-variant-numeric:tabular-nums;background:#fff9;border-radius:999px;margin-top:6px;padding:1px 9px;font-size:12px;font-weight:800}.day .today{background:var(--ink);color:var(--bg);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:800;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.day .ex{background:#e11d48;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:8px;right:8px}.day[aria-pressed=true]{outline:4px solid var(--ink);outline-offset:2px}.day[aria-pressed=true]:after{content:"";border:10px solid #0000;border-top-color:var(--ink);border-bottom:0;margin-left:-10px;position:absolute;top:auto;bottom:-16px;left:50%}.panel{background:var(--surface);border:2px solid var(--line);border-radius:26px;flex-direction:column;gap:14px;padding:20px;display:flex}.panel h2{font-size:24px;font-weight:800}.panel.pends{background:linear-gradient(120deg,color-mix(in srgb,#ffd08a 44%,var(--surface)),color-mix(in srgb,#ffa8cf 30%,var(--surface)) 55%,color-mix(in srgb,#bda6ff 34%,var(--surface)));border-color:color-mix(in srgb,#ffb13d 45%,var(--line))}.panel.pends .item{background:color-mix(in srgb,var(--bg) 78%,transparent)}.phead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;display:flex}.phead em{color:var(--muted);font-size:14px;font-style:normal;font-weight:800}.done{color:var(--ok)!important}.subj{background:var(--bg);background:linear-gradient(115deg,color-mix(in srgb,var(--c) 58%,var(--bg)),color-mix(in srgb,var(--c) 18%,var(--bg)));border-radius:20px;flex-direction:column;gap:10px;padding:14px;display:flex}.subj.full{box-shadow:inset 0 0 0 3px var(--ok)}.dd{position:relative}.subj .tog{color:#15121f;background:#fff;border:1.5px solid #0003;gap:6px;padding:3px 8px 3px 4px;font-size:13.5px}.subj .tog:before{content:none}.subj .tog.st-sim,.subj .tog.st-nao,.subj .tog.st-na{background:linear-gradient(135deg,var(--k1),var(--k2));color:var(--kt,#fff);border-color:#0000;box-shadow:0 3px #00000038,inset 0 1px #ffffff59}.subj .tog.st-sim.ok{--k1:#3fd866;--k2:#0c9a4a}.subj .tog.st-sim.pend{--k1:#ffc53d;--k2:#f08a00;--kt:#2b1a00}.subj .tog.st-sim.wait{--k1:#5b9bff;--k2:#2350e0}.subj .tog.st-nao{--k1:#ff6b6b;--k2:#d11a2a}.subj .tog.st-na{--k1:#b3aec4;--k2:#746f88}.subj .tog.st-sim .ico circle,.subj .tog.st-nao .ico circle,.subj .tog.st-na .ico circle{fill:#fff}.subj .tog.st-sim .ico ellipse,.subj .tog.st-nao .ico ellipse,.subj .tog.st-na .ico ellipse{display:none}.subj .tog.st-sim .ico path,.subj .tog.st-nao .ico path,.subj .tog.st-na .ico path{stroke:var(--k2)}.subj .tog.st-sim .seta,.subj .tog.st-nao .seta,.subj .tog.st-na .seta{opacity:.85}.tema{border:2px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-flex}.tema:hover{border-color:var(--brand)}.tema svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:17px;height:17px}.ico{flex:none;width:20px;height:20px}.seta{opacity:.6;flex:none;width:11px;height:11px}.ddm{z-index:6;background:#fff;border-radius:16px;flex-direction:column;gap:2px;min-width:186px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 14px 34px #0006}.ddm button{text-align:left;color:#15121f;border-radius:11px;align-items:center;gap:10px;padding:9px 12px;font-size:15px;font-weight:800;display:flex}.ddm button:hover,.ddm button[aria-selected=true]{background:#eee7ff}.ddm .ico{width:24px;height:24px}.sico{vertical-align:-2px;flex:none;width:26px;height:18px;display:inline-block}.sico.emo{width:auto;height:auto;font-family:Segoe UI Emoji,Apple Color Emoji,Noto Color Emoji,sans-serif;font-size:20px;line-height:1}.sname{font-family:var(--display);align-items:center;gap:10px;font-size:19px;font-weight:700;line-height:1.1;display:flex}.dot{background:var(--c);border-radius:6px;flex:none;width:16px;height:16px}.sname small{font-family:var(--body);color:var(--muted);font-size:12.5px;font-weight:700}.togs{flex-wrap:wrap;gap:8px;display:flex}.tog{background:var(--surface);border:2px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 9px;font-size:14px;font-weight:800;display:inline-flex}.tog:before{content:"";border:2px solid var(--line);background:var(--surface);border-radius:7px;flex:none;width:20px;height:20px}.tog[aria-pressed=true]:before{box-shadow:inset 0 0 0 3px var(--surface);background:currentColor;border-color:currentColor}.tog.ok[aria-pressed=true]{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.tog.pend[aria-pressed=true]{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.tog.wait[aria-pressed=true]{background:var(--wait-bg);border-color:var(--wait);color:var(--wait)}.tog:hover{border-color:var(--brand)}.field{border:2px solid var(--line);background:var(--surface);border-radius:14px;width:100%;min-width:0;padding:9px 14px;font-size:14.5px;font-weight:700}.field::placeholder{color:var(--muted);font-weight:500}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row .field{flex:150px}.x{width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;font-weight:800}.x:hover{background:var(--soft);color:var(--ink)}.empty{color:var(--muted);font-size:14.5px;font-weight:700}.sub{font-family:var(--display);font-size:18px;font-weight:700}.list{flex-direction:column;gap:8px;display:flex}.item{background:var(--bg);border-radius:16px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:11px 14px;font-size:14.5px;font-weight:700;display:flex}.item .grow{flex:180px;min-width:0}.item small{color:var(--muted);font-size:13px;font-weight:700;display:block}.tag{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800}.tag.pend{background:var(--warn-bg);color:var(--warn)}.tag.wait{background:var(--wait-bg);color:var(--wait)}.chip{background:var(--c);color:var(--on-color);border-radius:999px;align-items:center;gap:6px;padding:4px 6px 4px 12px;font-size:13.5px;font-weight:800;display:inline-flex}.chip button{width:22px;height:22px;color:var(--on-color);border-radius:50%;font-weight:800;line-height:1}.chip button:hover{background:#fff9}.chip time{font-variant-numeric:tabular-nums;opacity:.75;font-size:12px}.cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.card{background:var(--surface);border:2px solid var(--line);border-top:10px solid var(--c);border-radius:22px;flex-direction:column;gap:8px;padding:16px;display:flex}.card h3{font-size:20px;font-weight:700}.card p{color:var(--muted);margin:0;font-size:14px;font-weight:700}.card .big{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:16px}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 86px);background:var(--ink);color:var(--bg);z-index:5;border-radius:999px;max-width:calc(100% - 32px);padding:10px 18px;font-size:14px;font-weight:800;position:fixed;transform:translate(-50%)}@media (width<=760px){.app{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:16px 110px;padding-inline:16px}.side{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;position:static}.logo{font-size:22px}.logo small,.sync{display:none}.tema{align-self:center;padding:6px 12px}.nav{z-index:4;background:var(--surface);border-top:2px solid var(--line);padding:8px 8px calc(env(safe-area-inset-bottom,0px) + 8px);flex-direction:row;justify-content:space-around;gap:2px;position:fixed;bottom:0;left:0;right:0}.nav button{border-radius:16px;flex-direction:column;gap:2px;padding:7px 10px;font-size:11.5px}.nav button[aria-current=page]{box-shadow:none}.days{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:18px}.panel{border-radius:22px;padding:16px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}html{-webkit-text-size-adjust:100%}body{min-height:100vh;padding-top:env(safe-area-inset-top,0px);margin:0}[hidden]{display:none!important}.lock{max-width:440px;margin:8vh auto 0}.lock p{color:var(--muted);margin:0;font-weight:700}.lock .field{letter-spacing:.2em;text-align:center;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:22px}.erro{color:#e11d48;font-size:14.5px;font-weight:800}
