:root{--rose:#ef7f95;--pink:#f7a8b6;--soft:#fde3e5;--bg:#fff1ef;--card:snow;--text:#3b2530;--muted:#8a7078;--line:#f6dcdd}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Poppins,system-ui,sans-serif}button,input,select{color:inherit;font-family:inherit;font-size:.9rem}.app{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.main{flex-direction:column;gap:20px;min-width:0;padding:24px 28px;display:flex}.content{grid-template-columns:1fr 330px;align-items:start;gap:20px;display:grid}.side{flex-direction:column;gap:20px;display:flex}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:18px}.card h2{font-size:1.05rem}.sidebar{background:linear-gradient(#fde8e8,#f9c9cf);flex-direction:column;gap:26px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand>span{font-size:2rem}.brand b{font-size:1.25rem;display:block}.brand small{color:var(--muted);font-size:.65rem}.nav{flex-direction:column;gap:6px;display:flex}.nav-item{color:var(--text);border-radius:999px;padding:12px 16px;font-size:.92rem;text-decoration:none;transition:background .2s}.nav-item:hover{background:var(--soft)}.nav-item.active{background:var(--pink);font-weight:500}.profile{background:var(--card);border-radius:18px;margin-top:auto;padding:14px;font-size:.85rem}.profile b{display:block}.profile small{color:var(--muted)}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.search-box{background:var(--card);border:1.5px solid var(--line);border-radius:999px;flex:1;align-items:center;gap:10px;max-width:480px;padding:11px 18px;display:flex}.search-box input{background:0 0;border:0;outline:none;width:100%}.date-text{color:var(--muted);font-size:.85rem}.hero{background:linear-gradient(120deg,#fbc6cc,#fde0dc);border-radius:22px;justify-content:space-between;align-items:center;gap:16px;padding:34px;display:flex}.hero:after{content:"💻";font-size:4.5rem}.hero h1{margin-bottom:8px;font-size:2rem}.hero p{line-height:1.7}.stats{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.stat-card{align-items:center;gap:14px;display:flex}.stat-icon{border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:1.4rem;display:grid}.stat-card small{color:var(--muted);font-size:.78rem}.stat-card h2{font-size:1.8rem;line-height:1.2}.stat-card p{color:var(--muted);font-size:.72rem}.panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.btn{background:var(--rose);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:11px 20px;font-weight:500}.btn:hover{filter:brightness(1.06)}.btn-ghost{background:var(--soft);color:var(--text)}.filter-select{background:var(--card);border:1.5px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 14px}.task-item{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:14px 4px;display:grid}.task-info h3{font-size:.95rem}.task-info small{color:var(--muted);font-size:.78rem}.task-item.done h3{color:var(--muted);text-decoration:line-through}.checkbox{border:2px solid var(--line);background:var(--card);cursor:pointer;color:#fff;border-radius:8px;width:26px;height:26px}.checkbox.checked{background:var(--rose);border-color:var(--rose)}.badge{color:#d6334f;white-space:nowrap;background:#fde1e4;border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:500}.badge-done{color:#1f8a4c;background:#e4f5e9}.actions{gap:6px;display:flex}.icon-btn{background:var(--soft);cursor:pointer;border:0;border-radius:10px;width:34px;height:34px}.empty{text-align:center;color:var(--muted);padding:28px}.cal-title{text-align:center;margin-bottom:8px;font-weight:500}.cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;font-size:.82rem;display:grid}.cal-grid i{color:var(--muted);padding:6px 0;font-style:normal}.day{aspect-ratio:1;border-radius:50%;place-items:center;display:grid}.day.has-task{background:var(--pink);font-weight:600}.day.today{outline:2px solid var(--rose)}.progress{align-items:center;gap:20px;margin-top:14px;display:flex}.donut{border-radius:50%;flex:none;place-items:center;width:104px;height:104px;display:grid}.donut b{background:var(--card);border-radius:50%;place-items:center;width:74px;height:74px;display:grid}.legend{font-size:.85rem;line-height:2}.legend i{border-radius:50%;width:12px;height:12px;margin-right:8px;display:inline-block}.dot-done{background:var(--rose)}.dot-pending{background:var(--soft);border:1px solid var(--pink)}.modal-backdrop{z-index:20;background:#28141e66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border-radius:20px;flex-direction:column;gap:12px;width:100%;max-width:400px;padding:24px;display:flex}.modal input{border:1.5px solid var(--line);background:var(--bg);border-radius:12px;outline:none;padding:12px 14px}.modal input:focus{border-color:var(--rose)}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.error{color:#d6334f;font-size:.8rem}@media (width<=1100px){.content{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.app{grid-template-columns:1fr}.sidebar{gap:16px;height:auto;padding:16px;position:static}.nav{flex-direction:row;overflow-x:auto}.nav-item{white-space:nowrap;padding:10px 14px}.profile{margin-top:0}.main{padding:16px}}@media (width<=560px){.stats{grid-template-columns:1fr}.hero:after{display:none}.hero h1{font-size:1.5rem}.date-text{display:none}.task-item{grid-template-columns:auto 1fr auto}.task-item .badge{grid-column:2;justify-self:start}}
