@font-face{font-family:Space Grotesk;src:url("assets/space-grotesk.ttf") format("truetype");font-display:swap}
@font-face{font-family:DM Sans;src:url("assets/dm-sans.ttf") format("truetype");font-display:swap}
@font-face{font-family:DM Serif Display;src:url("assets/dm-serif.ttf") format("truetype");font-display:swap}

:root{--forest:#19382f;--forest-deep:#142e27;--ink:#25332d;--muted:#7b827b;--paper:#f6f7f2;--white:#fff;--line:#e4e9df;--lime:#d8ef82;--orange:#e9a277;--blue:#b9cae9;--red:#e8aa99;--radius:16px;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
button,input,select{font:inherit}
button,select{cursor:pointer}
button{touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #8cae39;outline-offset:3px}
button,input,select{-webkit-tap-highlight-color:rgba(216,239,130,.28)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:18px;top:-80px;z-index:20;background:var(--lime);color:var(--forest);padding:10px 16px;border-radius:8px}
.skip-link:focus{top:12px}
.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;align-self:start;height:100vh;padding:35px 18px 24px;color:#e5eee4;background:var(--forest);display:flex;flex-direction:column;overflow:auto}
.brand{display:flex;align-items:center;gap:13px;padding:0 15px;color:#fff;font-family:"Space Grotesk",sans-serif;font-size:31px;font-weight:700;letter-spacing:-2.3px;line-height:1}
.brand-period{color:var(--lime)}
.brand-symbol{position:relative;display:block;width:29px;height:30px}
.brand-symbol i{display:block;position:absolute;width:11px;height:11px;border-radius:3px;background:var(--lime);transform:rotate(-24deg)}
.brand-symbol i:nth-child(1){left:1px;top:4px}
.brand-symbol i:nth-child(2){left:13px;top:10px;background:#f5aa7c}
.brand-symbol i:nth-child(3){left:2px;top:18px;background:#b9cae9}
.sidebar-content{margin-top:49px}
.workspace-switcher{display:flex;align-items:center;gap:11px;margin:0 6px 37px;padding:10px;background:#24473d;border:1px solid #36574c;border-radius:13px}
.workspace-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;background:#f3b98c;color:var(--forest);font-weight:700}
.workspace-switcher small{display:block;color:#a6bcb0;font-size:9px;letter-spacing:1.5px;font-weight:700}
.workspace-switcher strong{display:block;margin-top:3px;color:#fff;font-size:12px;white-space:nowrap}
.nav-heading{margin:0 14px 10px;color:#8faa9c;font-size:10px;font-weight:700;letter-spacing:1.6px}
.status-heading{margin-top:29px}
.nav-button{display:flex;align-items:center;gap:13px;width:100%;min-height:42px;border:0;border-radius:9px;padding:0 13px;background:transparent;color:#c9d9cf;text-align:left;font-size:13px;font-weight:600;transition:background-color .18s,color .18s}
.nav-button:hover{background:#2b4b40;color:#fff}
.nav-button.active{background:var(--lime);color:var(--forest-deep)}
.nav-icon{display:grid;place-items:center;width:18px;font-size:20px;line-height:1}
.nav-dot,.stat-mark{display:block;flex:none;width:9px;height:9px;border-radius:50%}
.nav-dot.todo,.stat-mark.todo{background:#e5b696}
.nav-dot.in-progress,.stat-mark.in-progress{background:#aabdeb}
.nav-dot.blocked,.stat-mark.blocked{background:#d79083}
.nav-dot.done,.stat-mark.done{background:#bfe47b}
.nav-count{margin-left:auto;font-size:11px;opacity:.77;font-variant-numeric:tabular-nums}
.sidebar-bottom{margin-top:auto;padding:20px 10px 0}
.sidebar-rule{height:1px;background:#3a564a;margin-bottom:22px}
.team-avatars{display:flex;padding-left:1px}
.team-avatars span{display:grid;place-items:center;width:29px;height:29px;margin-left:-2px;border:2px solid var(--forest);border-radius:50%;background:#ddc5ab;color:#334038;font-size:9px;font-weight:700}
.team-avatars span:nth-child(2){background:#b9c7e3}
.team-avatars span:nth-child(3){background:#d5dfa5}
.team-avatars span:nth-child(4){background:#355c4b;color:#fff}
.sidebar-bottom p{margin:12px 0 0;color:#9db3a6;font-size:11px}
.main-content{min-width:0}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(26px,3.5vw,56px);border-bottom:1px solid var(--line);background:#fbfcf8}
.breadcrumb{display:flex;gap:12px;align-items:center;color:#89948b;font-size:12px}
.breadcrumb strong{color:var(--forest);font-weight:700}
.topbar-right{display:flex;align-items:center;gap:9px;color:#677a6d;font-size:12px;font-weight:600}
.live-dot{width:7px;height:7px;border-radius:50%;background:#8bb84f}
.topbar-divider{width:1px;height:20px;margin:0 12px;background:#dbe2d9}
.topbar-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e4eddb;color:var(--forest);font-size:10px;font-weight:700}
.page-content{max-width:1400px;margin:auto;padding:35px clamp(26px,3.5vw,56px) 22px}
.hero{position:relative;min-height:210px;display:flex;align-items:center;overflow:hidden;padding:35px 42px;border-radius:18px;background:var(--forest);color:white}
.hero-copy{position:relative;z-index:1;max-width:580px}
.eyebrow,.section-kicker,.overview-kicker{font-size:10px;font-weight:700;letter-spacing:1.65px}
.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--lime)}
.eyebrow-line{width:22px;height:1px;background:var(--lime)}
h1,h2,h3,p{margin-top:0}
.hero h1{margin-bottom:8px;font-family:"DM Serif Display",serif;font-size:clamp(43px,4vw,58px);font-weight:400;letter-spacing:-1.6px;line-height:1.08;text-wrap:balance}
.title-dot{color:var(--lime)}
.hero-description{max-width:405px;margin:0;color:#bed0c3;font-size:14px;line-height:1.55;text-wrap:pretty}
.hero-art{position:absolute;right:65px;top:0;width:320px;height:100%;opacity:.95}
.orbit{position:absolute;border:1px solid rgba(223,244,194,.2);border-radius:50%}
.orbit-one{width:290px;height:290px;right:-14px;top:-37px}
.orbit-two{width:215px;height:215px;right:23px;top:1px}
.art-card{position:absolute;width:130px;height:145px;border-radius:16px;transform:rotate(-14deg)}
.art-card-back{right:67px;top:37px;background:#9dc0ac;transform:rotate(12deg)}
.art-card-front{right:98px;top:53px;display:flex;flex-direction:column;gap:13px;padding:26px 20px;background:#e0f3ad;box-shadow:10px 12px 0 rgba(0,0,0,.1)}
.art-card-front span{display:block;width:88px;height:10px;border-radius:10px;background:#7c9e64}
.art-card-front span:nth-child(2){width:63px;background:#b0c791}
.art-card-front span:nth-child(3){width:74px;background:#b0c791}
.art-spark{position:absolute;right:34px;top:36px;color:#f5b386;font-size:43px}
.overview{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:10px;margin-top:20px}
.overview-intro,.stat-card{min-height:95px;border:1px solid var(--line);border-radius:13px;background:#fff}
.overview-intro{display:flex;flex-direction:column;justify-content:center;padding:17px 20px;background:#eaf0e5}
.overview-kicker{color:#6f906a}
.overview-intro strong{margin-top:5px;font-family:"Space Grotesk",sans-serif;font-size:16px;letter-spacing:-.5px}
.stat-card{position:relative;display:flex;flex-direction:column;justify-content:center;padding:17px 19px}
.stat-mark{position:absolute;top:19px;right:19px;width:10px;height:10px}
.stat-card strong{font-family:"Space Grotesk",sans-serif;font-size:28px;line-height:1.1;font-weight:600;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}
.stat-card>span:last-child{margin-top:6px;color:#7a877d;font-size:11px;font-weight:600}
.tasks-section{margin-top:42px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.section-kicker{margin-bottom:5px;color:#8c9b8d}
.section-heading h2{display:flex;align-items:center;gap:11px;margin:0;font-family:"Space Grotesk",sans-serif;font-size:26px;font-weight:600;letter-spacing:-1.1px;text-wrap:balance}
.heading-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:8px;background:#e5ebdf;color:#55735b;font-family:"DM Sans",sans-serif;font-size:12px;letter-spacing:0;font-variant-numeric:tabular-nums}
.section-heading>p{margin:0 0 4px;color:#8a958b;font-size:12px}
.toolbar{display:flex;gap:10px;margin-bottom:18px}
.search-field{display:flex;align-items:center;gap:11px;flex:1;min-width:0;height:46px;padding:0 14px;border:1px solid #dfe6db;border-radius:10px;background:#fff;color:#809084;transition:border-color .18s,box-shadow .18s}
.search-field:focus-within{border-color:#8cae39;box-shadow:0 0 0 3px rgba(140,174,57,.15)}
.search-field svg{flex:none;width:18px;height:18px}
.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}
.search-field input::placeholder{color:#9ba69d}
.filter-wrap{position:relative;display:flex;align-items:center;min-width:205px;height:46px;border:1px solid #dfe6db;border-radius:10px;background:#fff;overflow:hidden}
.filter-wrap label{padding-left:15px;color:#8b988b;font-size:12px;font-weight:600}
.filter-wrap select{flex:1;width:100%;min-width:0;height:100%;padding:0 27px 0 10px;border:0;background:#fff;color:var(--forest);font-size:12px;font-weight:700;appearance:none}
.filter-wrap:after{content:"⌄";position:absolute;right:14px;top:10px;color:#5f7466;font-size:20px;pointer-events:none}
.filter-wrap:focus-within{outline:3px solid rgba(140,174,57,.5);outline-offset:2px}
.list-header,.task-row{display:grid;grid-template-columns:minmax(0,1fr) 130px 150px 95px 28px;align-items:center;gap:15px}
.list-header{padding:0 21px 10px;color:#9aa69a;font-size:10px;font-weight:700;letter-spacing:1.3px}
.task-list{display:flex;flex-direction:column;gap:8px}
.task-row{min-height:82px;padding:13px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:border-color .18s,box-shadow .18s,transform .18s}
.task-row:hover{border-color:#b9cdb4;box-shadow:0 7px 18px rgba(32,65,40,.055);transform:translateY(-1px)}
.task-main{display:flex;align-items:center;gap:13px;min-width:0}
.task-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#edf1e7;color:#648067;font-size:17px}
.task-icon.project-onboarding{background:#f4e8df;color:#a77d67}
.task-icon.project-foundations{background:#edeafa;color:#8379ae}
.task-icon.project-release{background:#f7ebdf;color:#ad7956}
.task-icon.project-research{background:#e8f1e6;color:#64866a}
.task-icon.project-navigation,.task-icon.project-projects{background:#e6edf7;color:#7188aa}
.task-icon.project-notifications{background:#f3e7e7;color:#ac7575}
.task-main-copy{min-width:0}
.open-item{display:block;max-width:100%;padding:0;border:0;background:transparent;color:var(--forest-deep);text-align:left;font-family:"Space Grotesk",sans-serif;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:-.25px;overflow-wrap:anywhere}
.open-item:hover{text-decoration:underline;text-underline-offset:3px}
.task-subtitle{margin-top:5px;color:#94a095;font-size:11px;font-weight:500}
.status-badge{display:inline-flex;align-items:center;gap:7px;width:max-content;max-width:100%;padding:6px 9px;border-radius:6px;font-size:11px;font-weight:700;white-space:nowrap}
.status-badge:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor}
.status-badge.todo{background:#f8ede3;color:#86583a}
.status-badge.in-progress{background:#e8eefb;color:#3c6198}
.status-badge.blocked{background:#fae8e3;color:#984b3b}
.status-badge.done{background:#eaf5e2;color:#426e36}
.task-owner{display:flex;align-items:center;gap:8px;min-width:0;color:#58675d;font-size:11px;font-weight:600}
.owner-avatar{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#e6ede0;color:#55705a;font-size:8px;font-weight:700}
.task-owner span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.task-due{color:#768378;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.task-arrow{color:#9ead9f;font-size:20px;text-align:right}
.empty-state{padding:55px 24px;text-align:center;border:1px dashed #cad8c8;border-radius:14px;background:#fff}
.empty-icon{display:grid;place-items:center;width:57px;height:57px;margin:0 auto 18px;border-radius:15px;background:#eaf1e4;color:#63855e;font-size:32px}
.empty-state h3{margin:0 0 7px;font-family:"Space Grotesk",sans-serif;font-size:21px}
.empty-state p{max-width:340px;margin:0 auto 17px;color:#7d8b7d;font-size:13px;line-height:1.5}
.clear-button{padding:11px 15px;border:0;border-radius:8px;background:var(--forest);color:white;font-size:12px;font-weight:700}
.clear-button:hover{background:#2b5847}
.clear-button span{margin-left:8px}
.page-footer{display:flex;justify-content:space-between;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line);color:#a0aa9f;font-size:11px}
.page-footer span:last-child{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:13px;letter-spacing:-.5px}

.task-dialog{position:fixed;inset:0 0 0 auto;width:min(510px,100vw);height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#fff;box-shadow:-25px 0 60px rgba(13,40,28,.18);overflow:hidden}
.task-dialog::backdrop{background:rgba(12,31,23,.43)}
.detail-view{display:flex;flex-direction:column;height:100%;min-width:0}
.detail-header{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:0 34px;border-bottom:1px solid var(--line)}
.detail-header-label{color:#8fa08f;font-size:10px;font-weight:700;letter-spacing:1.6px}
.close-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #e1e8df;border-radius:8px;background:#fff;color:var(--forest)}
.close-button:hover{background:#edf3e9}
.close-button svg{width:17px;height:17px}
.detail-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:35px 38px 50px}
.detail-project{display:flex;align-items:center;gap:9px;color:#6b866d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}
.detail-project-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#e9f1e2;color:#5e855e;font-size:16px}
.detail-view h2{margin:17px 0 17px;color:var(--forest-deep);font-family:"DM Serif Display",serif;font-size:37px;font-weight:400;line-height:1.13;letter-spacing:-.5px;overflow-wrap:anywhere;text-wrap:balance}
.detail-badges{display:flex;gap:8px;align-items:center}
.priority-badge{padding:6px 9px;border-radius:6px;background:#f2f3ef;color:#788378;font-size:10px;font-weight:700;text-transform:capitalize}
.priority-badge.high{background:#fff0e6;color:#b8754b}
.priority-badge.medium{background:#f3f1e9;color:#918459}
.detail-divider{height:1px;margin:30px 0;background:var(--line)}
.detail-section h3{margin:0 0 17px;color:var(--forest);font-family:"Space Grotesk",sans-serif;font-size:16px;font-weight:600;letter-spacing:-.4px}
.detail-body p{margin:0 0 14px;color:#5d6a60;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.detail-body p:last-child{margin-bottom:0}
.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 15px;margin:0}
.details-grid div{min-width:0}
.details-grid dt,.tag-block>span{margin-bottom:8px;color:#9aa69b;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.details-grid dd{margin:0;color:#3b4d40;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.assignee-value{display:flex;align-items:center;gap:8px}
.detail-tags{display:flex;flex-wrap:wrap;gap:6px}
.detail-tags span{padding:5px 8px;border:1px solid #e2e9dd;border-radius:5px;background:#f8faf5;color:#607662;font-size:11px;font-weight:600}
.tag-block{margin-top:25px}
.tag-block>span{display:block}
.status-section{padding:20px;border:1px solid #dfead7;border-radius:12px;background:#f5f9f0}
.status-heading-row{display:flex;justify-content:space-between;align-items:center}
.status-heading-row .section-kicker{margin-bottom:4px;color:#80a26d;font-size:9px}
.status-heading-row h3{margin-bottom:18px}
.status-heading-row>span{align-self:start;color:#91af7b;font-size:21px}
.status-section label{display:block;margin-bottom:7px;color:#728273;font-size:11px;font-weight:700}
.status-section select{width:100%;height:42px;padding:0 12px;border:1px solid #cdddc7;border-radius:8px;background:#fff;color:var(--forest);font-size:13px;font-weight:700}
.status-feedback{min-height:17px;margin:9px 0 0;color:#5d8b53;font-size:11px;font-weight:700}
.detail-footer{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 34px;border-top:1px solid var(--line);color:#a2ada0;font-size:10px}
.detail-footer span:last-child{font-family:"Space Grotesk",sans-serif;font-size:13px;font-weight:700;letter-spacing:-.5px}

@media(max-width:1100px){.app-shell{grid-template-columns:205px minmax(0,1fr)}
.sidebar{padding-left:13px;padding-right:13px}
.hero-art{right:0;opacity:.55}
.overview{grid-template-columns:repeat(4,1fr)}
.overview-intro{grid-column:1/-1;min-height:63px}
.list-header,.task-row{grid-template-columns:minmax(0,1fr) 115px 95px 25px}
.list-header span:nth-child(3),.task-owner{display:none}
}

@media(max-width:700px){.app-shell{display:block}
.sidebar{position:relative;height:auto;min-height:72px;padding:calc(18px + env(safe-area-inset-top)) 21px 18px;overflow:visible}
.brand{padding:0;font-size:28px}
.brand-symbol{transform:scale(.85);transform-origin:left center}
.sidebar-content,.sidebar-bottom{display:none}
.topbar{height:47px;padding:0 20px}
.topbar-right{font-size:0}
.topbar-right .live-dot,.topbar-divider{display:none}
.topbar-avatar{width:27px;height:27px;font-size:9px}
.page-content{padding:15px 16px 25px}
.hero{min-height:144px;padding:20px;border-radius:15px}
.hero h1{font-size:40px}
.hero-description{max-width:240px;font-size:12px}
.hero-art{right:-131px;opacity:.36}
.overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.overview-intro{display:none}
.overview-intro strong{font-size:14px}
.stat-card{min-height:68px;padding:10px 15px}
.stat-card strong{font-size:25px}
.stat-mark{top:14px;right:14px}
.tasks-section{margin-top:24px}
.section-heading{align-items:start;margin-bottom:14px}
.section-heading h2{font-size:23px}
.section-heading>p{display:none}
.toolbar{flex-direction:column;gap:8px;margin-bottom:14px}
.search-field,.filter-wrap{width:100%;height:44px;flex:none}
.filter-wrap{min-width:0}
.list-header{display:none}
.task-list{gap:9px}
.task-row{position:relative;grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:107px;padding:15px}
.task-main{grid-column:1/-1;align-items:flex-start;gap:10px;padding-right:15px}
.task-icon{width:31px;height:31px}
.open-item{font-size:14px}
.task-row>.status-badge{grid-column:1;justify-self:start;margin-left:41px}
.task-owner{display:none}
.task-due{grid-column:2;justify-self:end;margin-right:2px}
.task-arrow{position:absolute;right:13px;top:17px;font-size:17px}
.task-dialog{width:100vw}
.detail-header{min-height:62px;padding:0 22px}
.detail-scroll{padding:28px 22px 45px}
.detail-view h2{font-size:33px}
.detail-footer{padding:0 22px;padding-bottom:env(safe-area-inset-bottom)}
}

@media(max-width:390px){.hero-art{right:-153px}
.hero-description{max-width:228px}
.detail-view h2{font-size:31px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

