:root{--base-1:#FF0000;--base-2:#BD0000;--base-3:#940000;--color-1:#FF0080;--color-2:#FF0000;--color-3:#FF8000;--color-4:#B8005C;--color-5:#B80000;--color-6:#B85C00;--color-7:#FF47A3;--color-8:#FF4747;--color-9:#FFA347;--color-10:#700038;--color-11:#700000;--color-12:#703800;--primary:#FF0080;--secondary:#FF0000;--accent:#FF8000;--bg-light:#FFFFFF;--bg-dark:#10141D;--gradient-linear:linear-gradient(135deg,#FF0080 0%,#FF0000 50%,#FF8000 100%);--gradient-radial:radial-gradient(circle at center,#FF0080 0%,#FF0000 55%,#FF8000 100%);--bg:#f3f5f9;--panel:#fff;--text:#131c2e;--muted:#475569;--line:#dce3ee;--soft:#f8fafc;--focus:#075e99;--btn:#700038;--shadow:0 12px 28px #10141d12;color-scheme:light}body.dark{--bg:#10141D;--panel:#1b2230;--text:#f6f7fb;--muted:#c1ccdc;--line:#394559;--soft:#242e3f;--btn:#FF47A3;--focus:#ffa347;--shadow:0 12px 28px #0004;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.top{background:var(--panel);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:12px max(18px,calc((100vw - 1250px)/2));position:sticky;top:0;z-index:10}.brand{display:flex;gap:10px;align-items:center;font-size:1.4rem;font-weight:850;text-decoration:none}.brandmark,.splash-mark{background:var(--gradient-linear);color:white;display:grid;place-items:center;border-radius:14px;width:43px;height:43px}.top-actions{display:flex;gap:8px}.top-actions button{background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:8px 13px}.shell{max-width:1250px;margin:20px auto;padding:0 16px;display:grid;grid-template-columns:215px minmax(0,1fr);gap:20px;min-height:65vh}nav{display:flex;flex-direction:column;gap:6px}nav button{background:transparent;border:0;border-radius:12px;padding:12px 14px;color:var(--text);text-align:left;font-weight:650}nav button.active{background:var(--panel);box-shadow:var(--shadow);border-left:4px solid var(--color-4)}main{min-width:0}.panel,.day,.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}.hero{background:var(--gradient-linear);color:white;border-radius:18px;padding:26px;margin-bottom:18px}.hero h1{margin:0}.hero p{margin:6px 0 0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 22px}.btn{border:1px solid var(--line);border-radius:12px;padding:11px 15px;background:var(--panel);color:var(--text);font-weight:700}.btn.primary{background:var(--btn);color:var(--panel);border-color:var(--btn)}body.dark .btn.primary{color:#10141d}.btn.danger{color:#940000;border-color:#b80000;background:#fff4f4}.btn.small{padding:5px 9px;font-size:.9rem}.muted{color:var(--muted)}h1,h2,h3{line-height:1.25}h1{font-size:clamp(1.5rem,3vw,2rem)}h2{font-size:1.3rem;margin:0 0 12px}h3{margin:0 0 8px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px}.metric{background:var(--soft);border:1px solid var(--line);border-radius:13px;padding:18px}.metric strong{display:block;font-size:1.7rem;font-variant-numeric:tabular-nums}.metric small{color:var(--muted)}.progress{height:13px;background:var(--line);border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--gradient-linear)}.day{padding:24px}.day-head{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.day-head h2{margin:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:520px}th{text-align:left;font-size:.8rem;letter-spacing:.06em;color:var(--muted)}td,th{padding:15px 10px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}.tag{display:inline-block;border-radius:99px;padding:4px 11px;font-weight:700;font-size:.88rem}.tag.start{background:#dff1ff;color:#00517d}.tag.end{background:#ffebd5;color:#893100}.tag.habit{background:#e5f5e8;color:#165d2c}.trash{border:0;background:transparent;color:var(--muted);font-size:1.3rem;padding:5px 9px}.trash:hover{color:#b80000}.field{display:block;margin:12px 0;font-weight:650}.field input,.field select,.field textarea,select.filter{display:block;width:100%;margin-top:6px;padding:12px;border:2px solid #78869a;border-radius:11px;background:var(--panel);color:var(--text);min-height:46px}.field textarea{resize:vertical;min-height:58px}.field small{display:block;text-align:right;color:var(--muted);font-weight:400}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .field{min-width:0}fieldset{border:1px solid var(--line);border-radius:15px;padding:12px 16px;margin:15px 0}legend{font-weight:700;color:var(--muted);padding:0 8px}.radio-row{display:flex;gap:22px;flex-wrap:wrap;padding:8px 0}.radio-row label{display:flex;gap:8px;align-items:center;font-weight:700}.radio-row input{width:20px;height:20px;accent-color:#006ca8}.modal-time{background:#e4f2fa;color:#15263d;padding:10px;border-radius:12px;text-align:center;font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}dialog{border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);width:min(600px,calc(100vw - 28px));max-height:90vh;overflow:auto;padding:24px;box-shadow:0 22px 80px #0006}dialog::backdrop{background:#10141db3}dialog h2{font-size:1.4rem}.list-card{padding:15px;border:1px solid var(--line);border-radius:14px;margin:10px 0;background:var(--soft)}.boss{display:flex;align-items:center;gap:18px}.boss-art{font-size:clamp(3rem,10vw,6rem);line-height:1}.radar{display:block;max-width:260px;width:100%;margin:auto}.radar text{fill:var(--text)}.help{font-size:.9rem;color:var(--muted)}footer{border-top:1px solid var(--line);padding:22px 16px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;color:var(--muted)}footer button{border:0;background:none;color:inherit;text-decoration:underline}#toast{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);background:#15263d;color:white;padding:12px 18px;border-radius:12px;display:none;z-index:100}#splash{position:fixed;inset:0;background:var(--gradient-radial);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:1000;transition:opacity .35s}#splash .splash-mark{font-size:4rem;width:110px;height:110px;border:3px solid white}#splash strong{font-size:2.5rem;letter-spacing:.13em}#splash.hide{opacity:0;pointer-events:none}body.printing nav,body.printing .top,body.printing footer{display:none}@media(max-width:780px){.shell{display:block;margin-top:12px}nav{flex-direction:row;overflow:auto;white-space:nowrap;margin-bottom:14px;padding-bottom:5px}nav button{flex-shrink:0}.panel,.day{padding:16px}.form-grid{gap:7px}.form-grid .field input,.form-grid .field select{padding:8px}.day-head{align-items:flex-start}dialog{padding:18px}}@media print{@page{size:A4;margin:15mm}body{background:white;color:black}.top,nav,footer,.actions,.trash,.btn,#splash,dialog,.filter{display:none!important}.shell{display:block;margin:0;padding:0}.panel,.day,.card{box-shadow:none;break-inside:avoid;border:1px solid #ccc}.hero{background:#700038!important;color:white!important;print-color-adjust:exact}main{width:100%}table{min-width:0}th,td{padding:7px}#printOnly{display:block!important}}#printOnly{display:none}

.radar-status{text-align:center;font-weight:750;color:var(--text)}#radarArc{transition:stroke-dashoffset .25s linear}@media(prefers-reduced-motion:reduce){#radarArc{transition:none}}

/* Radar concêntrico e Pomodoro */
.radar{max-width:420px;overflow:visible}/* Rotação do ponteiro é controlada exclusivamente pelo atributo SVG transform. */#radarArc{transition:stroke-dashoffset .2s linear}.pomodoro{padding:12px 0}.pomodoro strong{display:block;font-size:clamp(1.6rem,5vw,2.2rem);font-variant-numeric:tabular-nums;margin:6px 0}.pomodoro .progress{margin:10px 0 14px}.pomodoro .row{gap:8px}dialog .modal-actions{position:sticky;bottom:-24px;background:var(--panel);padding:12px 0 0;z-index:1}@media(max-width:500px){dialog{max-height:calc(100dvh - 24px);padding:16px}.form-grid{gap:7px}.form-grid .field{font-size:.88rem}.form-grid .field select,.form-grid .field input{min-width:0}}

/* Menu hambúrguer fixo, acessível e responsivo */
.top{justify-content:flex-start;gap:12px;z-index:40}.brand{margin-right:auto}.menu-toggle{width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--soft);color:var(--text);border:1px solid var(--line);border-radius:12px;flex-shrink:0}.menu-toggle span{display:block;width:23px;height:3px;border-radius:3px;background:currentColor}.menu-backdrop{position:fixed;inset:0;background:#10141db3;z-index:48}.menu-backdrop[hidden]{display:none}.menu-drawer{position:fixed;top:0;left:0;bottom:0;width:min(350px,88vw);background:var(--panel);color:var(--text);z-index:49;overflow-y:auto;overscroll-behavior:contain;box-shadow:12px 0 36px #0003;padding:16px;transform:translateX(-110%);visibility:hidden;transition:transform .22s ease,visibility .22s}.menu-drawer.open{transform:translateX(0);visibility:visible}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:1.2rem}.menu-heading button{border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--text);padding:8px 13px}.menu-drawer nav{display:flex;flex-direction:column;gap:5px;overflow:visible;white-space:normal;margin:0;padding:0}.menu-drawer nav button,.menu-section button,.menu-section a{display:block;width:100%;text-align:left;padding:11px 13px;background:transparent;border:0;border-radius:10px;color:var(--text);font-weight:650;text-decoration:none}.menu-drawer nav button.active{background:var(--soft);box-shadow:none;border-left:4px solid var(--color-4)}.menu-section{border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.menu-section>strong{display:block;font-size:.85rem;color:var(--muted);padding:0 12px 7px}.menu-section button:hover,.menu-section a:hover,.menu-drawer nav button:hover{background:var(--soft)}.shell{display:block;max-width:1120px}.menu-open{overflow:hidden}@media(max-width:780px){.menu-drawer nav{flex-direction:column;overflow:visible;white-space:normal;margin:0;padding:0}}@media(prefers-reduced-motion:reduce){.menu-drawer{transition:none}}@media print{.menu-toggle,.menu-drawer,.menu-backdrop{display:none!important}}


/* Splash v10: foguete imóvel, progresso circular de 4 segundos e revelação do nome. */
.brand-logo{display:block;width:40px;height:40px;object-fit:contain;flex-shrink:0}
#splash{background:#fff!important;color:#10141d!important;overflow:hidden;isolation:isolate;gap:16px}
#splash .splash-progress{width:min(68vw,280px);height:min(68vw,280px);position:relative;flex:none;display:grid;place-items:center}
#splash .splash-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
#splash .splash-ring circle{fill:none;stroke-width:4;vector-effect:non-scaling-stroke}
#splash .splash-track{stroke:#e5e7eb}
#splash .splash-fill{stroke:#ff0000;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:impulso-ring-fill 4s linear forwards}
#splash .splash-logo{display:block;width:69%;height:69%;object-fit:contain;position:relative;z-index:1;transform:none!important;animation:none!important}
#splash .splash-wordmark{text-align:center;display:flex;flex-direction:column;gap:5px;align-items:center;animation:impulso-reveal 1.2s ease-out both;animation-delay:.5s}
#splash .splash-wordmark strong{font-size:clamp(1.7rem,6vw,2.5rem);letter-spacing:.13em;color:#940000}
#splash .splash-wordmark small{font-size:clamp(.8rem,3vw,1rem);color:#475569;text-align:center;padding:0 12px}
@keyframes impulso-ring-fill{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes impulso-reveal{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#splash .splash-fill,#splash .splash-wordmark{animation:none!important}#splash .splash-fill{stroke-dashoffset:0}}
