*{box-sizing:border-box;margin:0;padding:0}:root{--p:#3977dc;--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#718096;--border:#e2e8f0;--success:#10b981;--danger:#e5484d;--shadow:0 8px 24px #1720330f}body.dark{--bg:#111827;--card:#1f2937;--text:#f9fafb;--muted:#aab4c3;--border:#374151;--shadow:0 8px 24px #0004}body{font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;transition:.2s}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.app{width:min(calc(100% - 20px),1024px);margin:auto;padding:24px 0 60px}header,.title{display:flex;align-items:center;justify-content:space-between;gap:15px}header{margin-bottom:18px}header h1{font-size:28px}header p,.title small{color:var(--muted);font-size:13px;margin-top:5px}.icon,.month button{width:44px;height:44px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:20px}.date{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--p);color:#fff;padding:20px;border-radius:8px;margin-bottom:16px;box-shadow:var(--shadow)}.date h2{font-size:20px;margin-top:6px}.date b{font-size:23px;direction:ltr}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stats>div{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px;text-align:center;box-shadow:var(--shadow)}.stats b{display:block;font-size:22px;margin:5px}.stats small{color:var(--muted)}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.card h2{font-size:19px}.progress-title{display:flex;justify-content:space-between;margin-bottom:10px;font-size:14px}.progress-title b:last-child{color:var(--p)}.progress{height:10px;border-radius:20px;background:var(--border);overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--p);transition:.3s}form{display:grid;grid-template-columns:1fr 130px 130px 180px 140px;gap:10px;margin-top:16px}form>input,form>select,form label{height:48px;border:1px solid var(--border);border-radius:8px;background:var(--bg);padding:0 12px;outline:none}form label{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;color:var(--muted)}form label input{width:100%;min-width:0;border:0;background:transparent;color:var(--text)}form>button{border:0;border-radius:8px;background:var(--p);color:#fff;font-weight:bold}.suggest{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:14px;color:var(--muted)}.suggest button{border:1px solid var(--border);background:var(--bg);border-radius:20px;padding:6px 10px;font-size:12px}.danger{border:0;background:transparent;color:var(--danger);font-size:12px}.task{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:8px;padding:13px;margin-top:10px}.task.completed{opacity:.65;background:var(--bg)}.task.completed .name{text-decoration:line-through}.check{width:30px;height:30px;border:2px solid var(--border);border-radius:50%;background:transparent;flex:none}.completed .check{background:var(--success);border-color:var(--success);color:#fff}.content{flex:1;min-width:0}.name{font-weight:bold;word-break:break-word}.meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:6px}.delete{width:34px;height:34px;border:0;border-radius:8px;background:#fee2e2;color:var(--danger)}.empty{text-align:center;padding:36px 10px;color:var(--muted);font-size:38px}.empty h3{color:var(--text);font-size:16px;margin-top:8px}.empty p{font-size:13px;margin-top:5px}.month{display:flex;align-items:center;gap:6px}.month button{width:32px;height:32px}.month b{min-width:120px;text-align:center;font-size:13px}.report{margin-top:18px}.report b{color:var(--p)}.sub{font-size:14px;margin:18px 0 10px}.chart-wrap,.table-wrap{overflow:auto}.chart{height:160px;min-width:680px;display:flex;align-items:end;gap:3px;border-bottom:1px solid var(--border)}.bar{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:3px}.bar i{display:block;width:100%;max-width:14px;background:var(--p);border-radius:3px 3px 0 0}.bar small{font-size:9px;color:var(--muted)}.tables{display:grid;grid-template-columns:1fr 1fr;gap:20px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:10px;border-bottom:1px solid var(--border);text-align:center}th{background:var(--bg);color:var(--muted)}th:first-child,td:first-child{text-align:right}#toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,80px);opacity:0;background:#111827;color:#fff;padding:11px 18px;border-radius:8px;transition:.25s}#toast.show{transform:translate(-50%,0);opacity:1}@media(max-width:850px){form{grid-template-columns:1fr 1fr}form>button{height:48px}}@media(max-width:600px){.app{padding-top:18px}header h1{font-size:24px}header p{font-size:12px}.date h2{font-size:15px}.date b{font-size:17px}.stats{gap:7px}.stats>div{padding:10px 4px}.stats b{font-size:19px}.stats small{font-size:10px}.card{padding:15px}.tables{grid-template-columns:1fr}.title{align-items:flex-start}.month b{min-width:95px}}@media(max-width:420px){form{grid-template-columns:1fr}.title{flex-wrap:wrap}}
