Skip to content
OwnlyPlans

index.html.md

Complete code of the result in the video.

Part of Project workspace dashboard by Admin

Download Open the item

index.html

The finished result as one file. Save it as index.html and open it.

<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Project workspace dashboard</title><style>*{box-sizing:border-box;margin:0;padding:0}
html,body{width:1280px;height:720px;overflow:hidden}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.stage{position:absolute;inset:0;animation:cyc 8s linear infinite both}
@keyframes cyc{0%{opacity:0}4%{opacity:1}94%{opacity:1}100%{opacity:0}}
body:not(.go) *,body:not(.go) *::before,body:not(.go) *::after{animation-play-state:paused!important}
.cnt::after{content:counter(n)}.cnt{counter-reset:n var(--n)}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}


body{background:#eef3fb;color:#14233f}
.sb{position:absolute;left:0;top:0;bottom:0;width:230px;background:#14233f;color:#c9d6f2;padding:26px 20px}
.sb h2{font-size:18px;color:#fff;margin-bottom:22px;letter-spacing:-.02em}.sb div{padding:11px 12px;border-radius:12px;font-size:14px;margin-bottom:4px}.sb .on{background:#243a68;color:#fff}
.mn{position:absolute;left:262px;right:36px;top:30px}
.hd{display:flex;align-items:center}.hd h1{font-size:28px;letter-spacing:-.03em}.hd span{margin-left:14px;font-size:13px;padding:5px 11px;border-radius:99px;background:#dce8ff;color:#2457d6;font-weight:700}
.st{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}
.sc{background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 14px 30px -24px #1d3d8a;animation:rs 8s infinite both}.sc:nth-child(2){animation-delay:.1s}.sc:nth-child(3){animation-delay:.2s}
@keyframes rs{0%,3%{opacity:0;transform:translateY(14px)}10%,100%{opacity:1;transform:none}}
.sc small{font-size:12px;color:#6a7da3;text-transform:uppercase;letter-spacing:.08em}.sc b{display:block;font-size:32px;letter-spacing:-.03em;margin-top:4px}
.a1{animation:a1 8s infinite both}.a2{animation:a2 8s infinite both}.a3{animation:a3 8s infinite both}
@keyframes a1{0%,8%{--n:0}34%,100%{--n:68}}@keyframes a2{0%,8%{--n:0}34%,100%{--n:14}}@keyframes a3{0%,8%{--n:0}34%,100%{--n:5}}
.pj{background:#fff;border-radius:18px;padding:6px 22px;box-shadow:0 14px 30px -24px #1d3d8a}
.pr{display:grid;grid-template-columns:230px 1fr 90px 60px;align-items:center;gap:18px;height:84px;border-bottom:1px solid #edf1f8;opacity:0;animation:pi 8s infinite both}
.pr:last-child{border:0}
.pr:nth-child(2){animation-delay:.14s}.pr:nth-child(3){animation-delay:.28s}.pr:nth-child(4){animation-delay:.42s}
@keyframes pi{0%,14%{opacity:0;transform:translateX(18px)}22%,100%{opacity:1;transform:none}}
.pr h3{font-size:16px}.pr p{font-size:12px;color:#6a7da3;margin-top:3px}
.bar{height:10px;border-radius:9px;background:#e8eef9;overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#3b82f6,#6366f1);width:var(--w);animation:gb 8s infinite both}
@keyframes gb{0%,22%{width:0}52%,100%{width:var(--w)}}
.pr em{font-style:normal;font-weight:800;font-size:15px}.pr .av{display:flex}.pr .av i{width:28px;height:28px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background:#6366f1}.pr .av i:nth-child(2){background:#f59e0b}.pr .av i:nth-child(3){background:#10b981}
.tag{font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px;text-align:center}.ok{background:#d8f5e4;color:#127a45}.wa{background:#fff1d0;color:#8a5a00}.bl{background:#dce8ff;color:#2457d6}
</style></head><body><div class="stage"><div class="sb"><h2>Northstar</h2><div class="on">Projects</div><div>My tasks</div><div>Inbox</div><div>Team</div><div>Reports</div><div>Settings</div></div>
<div class="mn"><div class="hd"><h1>Project workspace</h1><span>Q4 planning</span></div>
<div class="st"><div class="sc"><small>Avg progress</small><b><span class="cnt a1"></span>%</b></div><div class="sc"><small>Open tasks</small><b><span class="cnt a2"></span></b></div><div class="sc"><small>Due this week</small><b><span class="cnt a3"></span></b></div></div>
<div class="pj"><div class="pr"><div><h3>Website redesign</h3><p>Due Dec 12</p></div><div class="bar"><i style="--w:82%"></i></div><div class="av"><i></i><i></i><i></i></div><div class="tag ok">On track</div></div><div class="pr"><div><h3>Mobile app v2</h3><p>Due Jan 20</p></div><div class="bar"><i style="--w:54%"></i></div><div class="av"><i></i><i></i></div><div class="tag wa">At risk</div></div><div class="pr"><div><h3>Billing migration</h3><p>Due Nov 30</p></div><div class="bar"><i style="--w:91%"></i></div><div class="av"><i></i></div><div class="tag ok">On track</div></div><div class="pr"><div><h3>Partner portal</h3><p>Due Feb 8</p></div><div class="bar"><i style="--w:23%"></i></div><div class="av"><i></i><i></i><i></i></div><div class="tag bl">Planning</div></div></div></div></div><script>window.start=function(){document.body.classList.add("go")};if(!/[?&]rec/.test(location.search))start();</script></body></html>
Source, 42 lines
# index.html

The finished result as one file. Save it as index.html and open it.

```html
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Project workspace dashboard</title><style>*{box-sizing:border-box;margin:0;padding:0}
html,body{width:1280px;height:720px;overflow:hidden}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.stage{position:absolute;inset:0;animation:cyc 8s linear infinite both}
@keyframes cyc{0%{opacity:0}4%{opacity:1}94%{opacity:1}100%{opacity:0}}
body:not(.go) *,body:not(.go) *::before,body:not(.go) *::after{animation-play-state:paused!important}
.cnt::after{content:counter(n)}.cnt{counter-reset:n var(--n)}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}


body{background:#eef3fb;color:#14233f}
.sb{position:absolute;left:0;top:0;bottom:0;width:230px;background:#14233f;color:#c9d6f2;padding:26px 20px}
.sb h2{font-size:18px;color:#fff;margin-bottom:22px;letter-spacing:-.02em}.sb div{padding:11px 12px;border-radius:12px;font-size:14px;margin-bottom:4px}.sb .on{background:#243a68;color:#fff}
.mn{position:absolute;left:262px;right:36px;top:30px}
.hd{display:flex;align-items:center}.hd h1{font-size:28px;letter-spacing:-.03em}.hd span{margin-left:14px;font-size:13px;padding:5px 11px;border-radius:99px;background:#dce8ff;color:#2457d6;font-weight:700}
.st{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}
.sc{background:#fff;border-radius:18px;padding:18px 20px;box-shadow:0 14px 30px -24px #1d3d8a;animation:rs 8s infinite both}.sc:nth-child(2){animation-delay:.1s}.sc:nth-child(3){animation-delay:.2s}
@keyframes rs{0%,3%{opacity:0;transform:translateY(14px)}10%,100%{opacity:1;transform:none}}
.sc small{font-size:12px;color:#6a7da3;text-transform:uppercase;letter-spacing:.08em}.sc b{display:block;font-size:32px;letter-spacing:-.03em;margin-top:4px}
.a1{animation:a1 8s infinite both}.a2{animation:a2 8s infinite both}.a3{animation:a3 8s infinite both}
@keyframes a1{0%,8%{--n:0}34%,100%{--n:68}}@keyframes a2{0%,8%{--n:0}34%,100%{--n:14}}@keyframes a3{0%,8%{--n:0}34%,100%{--n:5}}
.pj{background:#fff;border-radius:18px;padding:6px 22px;box-shadow:0 14px 30px -24px #1d3d8a}
.pr{display:grid;grid-template-columns:230px 1fr 90px 60px;align-items:center;gap:18px;height:84px;border-bottom:1px solid #edf1f8;opacity:0;animation:pi 8s infinite both}
.pr:last-child{border:0}
.pr:nth-child(2){animation-delay:.14s}.pr:nth-child(3){animation-delay:.28s}.pr:nth-child(4){animation-delay:.42s}
@keyframes pi{0%,14%{opacity:0;transform:translateX(18px)}22%,100%{opacity:1;transform:none}}
.pr h3{font-size:16px}.pr p{font-size:12px;color:#6a7da3;margin-top:3px}
.bar{height:10px;border-radius:9px;background:#e8eef9;overflow:hidden}.bar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#3b82f6,#6366f1);width:var(--w);animation:gb 8s infinite both}
@keyframes gb{0%,22%{width:0}52%,100%{width:var(--w)}}
.pr em{font-style:normal;font-weight:800;font-size:15px}.pr .av{display:flex}.pr .av i{width:28px;height:28px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background:#6366f1}.pr .av i:nth-child(2){background:#f59e0b}.pr .av i:nth-child(3){background:#10b981}
.tag{font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px;text-align:center}.ok{background:#d8f5e4;color:#127a45}.wa{background:#fff1d0;color:#8a5a00}.bl{background:#dce8ff;color:#2457d6}
</style></head><body><div class="stage"><div class="sb"><h2>Northstar</h2><div class="on">Projects</div><div>My tasks</div><div>Inbox</div><div>Team</div><div>Reports</div><div>Settings</div></div>
<div class="mn"><div class="hd"><h1>Project workspace</h1><span>Q4 planning</span></div>
<div class="st"><div class="sc"><small>Avg progress</small><b><span class="cnt a1"></span>%</b></div><div class="sc"><small>Open tasks</small><b><span class="cnt a2"></span></b></div><div class="sc"><small>Due this week</small><b><span class="cnt a3"></span></b></div></div>
<div class="pj"><div class="pr"><div><h3>Website redesign</h3><p>Due Dec 12</p></div><div class="bar"><i style="--w:82%"></i></div><div class="av"><i></i><i></i><i></i></div><div class="tag ok">On track</div></div><div class="pr"><div><h3>Mobile app v2</h3><p>Due Jan 20</p></div><div class="bar"><i style="--w:54%"></i></div><div class="av"><i></i><i></i></div><div class="tag wa">At risk</div></div><div class="pr"><div><h3>Billing migration</h3><p>Due Nov 30</p></div><div class="bar"><i style="--w:91%"></i></div><div class="av"><i></i></div><div class="tag ok">On track</div></div><div class="pr"><div><h3>Partner portal</h3><p>Due Feb 8</p></div><div class="bar"><i style="--w:23%"></i></div><div class="av"><i></i><i></i><i></i></div><div class="tag bl">Planning</div></div></div></div></div><script>window.start=function(){document.body.classList.add("go")};if(!/[?&]rec/.test(location.search))start();</script></body></html>
```

Your AI tool
Starter prompt

		

Download the plan