*{box-sizing:border-box}:root{--bg:#f4f3ef;--surface:#fff;--text:#181817;--muted:#74716b;--line:#e2dfd8;--dark:#191918;--pier:#f05a47;--pier2:#ff8a65;--blue:#5267e8;--green:#25a56a;--yellow:#d89424;--shadow:0 18px 50px #1b19160f}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}
.auth-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(circle at 20% 0%,#fff 0,#f4f3ef 45%,#eeece7 100%)}.auth-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.auth-card.wide{width:min(760px,100%)}.brand-mark,.brand-dot{background:linear-gradient(135deg,var(--pier),var(--pier2));color:#fff;font-weight:850}.brand-mark{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;margin-bottom:20px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;margin:8px 0}h2{font-size:20px;margin:4px 0}.muted{color:var(--muted);line-height:1.55}.form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:7px;font-size:13px;font-weight:700}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:13px 14px;outline:0;color:var(--text)}input:focus,textarea:focus,select:focus{border-color:#bbb;box-shadow:0 0 0 4px #f05a4712}textarea{resize:vertical}.button{border:0;border-radius:13px;padding:14px 16px;font-weight:800;text-align:center;display:inline-flex;justify-content:center;align-items:center}.primary{background:var(--dark);color:#fff}.alert,.success{border-radius:13px;padding:12px 14px;margin-top:18px;font-size:13px}.alert{background:#fbe9e5;color:#8b3227}.success{background:#e8f5ed;color:#286442}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setup-box{border:1px solid var(--line);border-radius:17px;padding:18px}.setup-box h2{margin-bottom:15px}
.app-page{min-height:100vh}.topbar{max-width:1080px;margin:auto;padding:22px 20px 12px;display:flex;justify-content:space-between;align-items:center}.brand-line{display:flex;align-items:center;gap:10px}.brand-dot{width:38px;height:38px;border-radius:12px;display:grid;place-items:center}.topbar h1{font-size:22px;margin:3px 0}.top-actions{display:flex;align-items:center;gap:14px}.hello{font-size:13px;color:var(--muted)}.logout{font-size:12px;font-weight:700;color:var(--muted);padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.app-main{max-width:1080px;margin:auto;padding:10px 20px 100px}.welcome{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:16px 0}.welcome h2{font-size:25px}.quick-add{border:0;border-radius:12px;padding:11px 15px;background:var(--pier);color:#fff;font-weight:800;box-shadow:0 7px 18px #f05a4726}.filters-wrap{background:#eeece7;border:1px solid var(--line);border-radius:18px;padding:7px}.filters,.subfilters{display:flex;gap:7px;overflow:auto;padding:3px;scrollbar-width:none}.filters::-webkit-scrollbar,.subfilters::-webkit-scrollbar{display:none}.filter,.chip{white-space:nowrap;border:0;background:transparent;border-radius:11px;padding:9px 12px;font-size:12px;color:var(--muted);font-weight:750}.filter.active{background:#fff;color:var(--text);box-shadow:0 2px 8px #0000000a}.subfilters{border-top:1px solid #dedbd4;margin-top:4px;padding-top:7px}.chip.active{background:var(--dark);color:#fff}.task-section{margin-top:25px}.section-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.count{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e5e1da;font-size:12px;font-weight:850}.task-card{position:relative;display:grid;grid-template-columns:36px 1fr 34px;gap:11px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:10px;box-shadow:0 4px 18px #17171706;overflow:hidden}.task-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#c9c5bd}.status-a_fazer:before{background:var(--yellow)}.status-em_andamento:before{background:var(--blue)}.status-concluida:before{background:var(--green)}.filtered-out{display:none!important}.check-button{width:31px;height:31px;border:2px solid #d0ccc4;background:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff;margin-top:1px}.status-em_andamento .check-button{background:var(--blue);border-color:var(--blue)}.status-concluida .check-button{background:var(--green);border-color:var(--green)}.status-concluida{opacity:.66}.status-concluida h3{text-decoration:line-through}.task-title-row{display:flex;gap:10px;justify-content:space-between}.task-title-row h3{font-size:15px;line-height:1.35;margin:0 0 5px}.category{font-size:10px;font-weight:800;padding:5px 8px;border-radius:999px;white-space:nowrap}.category.trabalho{background:#fff0ed;color:#b84233}.category.pessoal{background:#edf0ff;color:#4b5fc5}.task-description{font-size:12px;color:var(--muted);line-height:1.45;margin:4px 0 8px}.task-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:10.5px}.status-label{font-weight:800}.completion-note{margin-top:11px;padding:10px 12px;border-radius:12px;background:#eef8f2;border:1px solid #d9eee1;color:#386c4d;font-size:11px;line-height:1.45}.completion-note strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.more-button{border:0;background:#f5f3ef;width:30px;height:30px;border-radius:9px;font-size:20px;color:#817d75}.fab{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--pier),var(--pier2));color:#fff;font-size:29px;box-shadow:0 12px 28px #f05a4740;z-index:10}.empty-state{text-align:center;padding:55px 20px;color:var(--muted)}.empty-icon{width:52px;height:52px;border-radius:16px;background:#e9e6df;display:grid;place-items:center;margin:auto auto 12px;color:#6d6961;font-weight:800}.hidden{display:none!important}
.modal-backdrop{position:fixed;inset:0;background:#17151273;display:none;align-items:flex-end;justify-content:center;padding:12px;z-index:20;backdrop-filter:blur(3px)}.modal-backdrop.open{display:flex}.modal{width:min(640px,100%);background:#fff;border-radius:25px;padding:22px;max-height:92vh;overflow:auto;box-shadow:0 25px 70px #0004}.small-modal{width:min(520px,100%)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.close{border:0;background:#f0ede8;width:34px;height:34px;border-radius:50%;font-size:22px}
@media(min-width:700px){.modal-backdrop{align-items:center;padding:20px}}
@media(max-width:700px){.topbar{padding:17px 14px 7px}.hello{display:none}.app-main{padding:5px 12px 100px}.welcome{margin:13px 2px 14px}.welcome h2{font-size:20px}.quick-add{padding:10px 12px}.filters-wrap{margin:0 -1px;border-radius:16px}.task-card{grid-template-columns:32px 1fr 30px;padding:14px 11px 14px 13px;border-radius:16px}.task-title-row{display:block}.category{display:inline-block;margin-top:4px}.task-meta{gap:6px}.task-meta span{background:#f6f4f0;border-radius:7px;padding:4px 6px}.modal{border-radius:24px 24px 16px 16px;padding:19px}.two-cols{grid-template-columns:1fr}.form{gap:14px}.fab{right:16px;bottom:16px;width:56px;height:56px;border-radius:17px}}
@media(max-width:380px){.brand-dot{width:34px;height:34px}.topbar h1{font-size:20px}.task-card{gap:8px}.task-title-row h3{font-size:14px}}

/* V3 refinements */
.category{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  height:30px;
  padding:0 10px;
  line-height:1;
  vertical-align:middle;
  flex:0 0 auto;
}
.task-title-row>div:first-child{min-width:0}
.task-title-row h3{overflow-wrap:anywhere}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}
.button.secondary{background:#f0eee9;color:var(--text);border:1px solid var(--line)}
.completed-check{cursor:pointer}
.status-concluida .completed-check{box-shadow:0 0 0 4px #25a56a18}
@media(max-width:700px){
  .topbar{padding:15px 13px 6px}
  .top-actions{gap:6px}
  .app-main{padding:4px 11px 60px}
  .welcome{align-items:center;margin:12px 1px 12px}
  .welcome h2{font-size:19px;line-height:1.2}
  .quick-add{font-size:13px;padding:10px 12px;border-radius:11px;flex:0 0 auto}
  .filters-wrap{padding:5px;border-radius:15px}
  .filter,.chip{padding:9px 11px}
  .task-section{margin-top:20px}
  .task-card{
    grid-template-columns:34px minmax(0,1fr) 30px;
    gap:9px;
    padding:13px 9px 13px 12px;
    margin-bottom:8px;
    border-radius:16px;
  }
  .check-button{width:32px;height:32px}
  .task-title-row{
    display:flex;
    align-items:flex-start;
    gap:7px;
  }
  .task-title-row>div:first-child{flex:1;min-width:0}
  .task-title-row h3{font-size:14px;line-height:1.3;margin-bottom:3px}
  .category{
    min-width:64px;
    height:26px;
    padding:0 8px;
    font-size:9px;
    border-radius:999px;
    margin:0;
  }
  .task-description{font-size:11.5px}
  .task-meta{font-size:10px;gap:5px;margin-top:6px}
  .task-meta span{padding:3px 5px}
  .completion-note{font-size:10.5px;padding:8px 10px}
  .more-button{width:28px;height:28px}
  .modal-backdrop{padding:8px}
  .modal{padding:18px 15px 16px;border-radius:22px 22px 15px 15px}
  .confirm-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:390px){
  .category{min-width:60px;font-size:8.5px;padding:0 7px}
  .task-card{grid-template-columns:32px minmax(0,1fr) 28px;gap:7px}
  .task-title-row h3{font-size:13.5px}
}


/* V9: mantém a identidade visual da V3 e apenas ajusta o badge e o modal de reativação. */
.task-title-row{align-items:center}
.category{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  justify-self:end;
  text-align:center;
  line-height:1;
  box-sizing:border-box;
}
.confirm-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:20px}
.button.secondary{background:#f0eee9;color:var(--text);border:1px solid var(--line)}
.reactivate-choice{min-height:50px}
.reactivate-choice:disabled{opacity:.65;cursor:wait}
@media(max-width:700px){
  .task-title-row{align-items:center}
  .category{align-self:center;justify-self:end}
  .confirm-actions{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .reactivate-choice{padding:12px 8px;font-size:13px}
}
@media(max-width:390px){
  .confirm-actions{gap:6px}
  .reactivate-choice{font-size:12px;padding-left:6px;padding-right:6px}
}
