.project-tracker-workspace .workspace-gallery{display:flex!important;flex-direction:column;height:calc(100dvh - 64px);min-height:0!important;max-width:none;padding:0 0 48px;box-sizing:border-box;overflow:hidden}
.project-tracker-workspace .workspace-gallery>:not(.project-tracker){display:none!important}
.project-tracker{display:flex;flex-direction:column;min-height:0;flex:1;min-width:0;background:var(--panel,#fff);color:var(--ink)}.project-tracker[hidden]{display:none}
.project-tracker :is(button,input,select,textarea),.project-task-dialog :is(button,input,select,textarea){font:inherit;color:var(--ink);background:var(--panel,#fff);border:1px solid var(--line);border-radius:8px;padding:9px 11px;min-width:0;box-sizing:border-box}.project-tracker,.project-task-dialog{font:12px 'Plus Jakarta Sans',sans-serif}
.project-tracker button,.project-task-dialog button{cursor:pointer}.project-tracker button:disabled,.project-task-dialog button:disabled{opacity:.45;cursor:default}
.project-tracker :is(button,input,select):focus-visible,.project-task-dialog :is(button,input,select,textarea):focus-visible{outline:2px solid #277a50;outline-offset:3px}
.project-toolbar{display:flex;align-items:center;gap:20px;padding:18px 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.project-toolbar h2{margin:4px 0 0;font-size:19px}.project-toolbar .eyebrow{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.project-toolbar nav{display:flex;gap:7px;align-items:center;margin-left:auto}.project-toolbar nav>button:not(.project-primary),.project-menu summary{display:grid;place-items:center;width:36px;height:36px;padding:7px}.project-toolbar svg,.project-filters svg{width:20px;height:20px;flex:none}
.project-view-switch{display:flex;gap:3px;padding:4px;background:color-mix(in srgb,var(--ink) 5%,var(--panel));border:1px solid var(--line);border-radius:11px}.project-view-switch button{display:flex;align-items:center;gap:7px;background:transparent;border-color:transparent;padding:8px 13px}.project-view-switch button[aria-pressed=true]{background:var(--panel);color:var(--workspace-color,#277a50);border-color:var(--line);box-shadow:0 2px 6px #0001}
.project-tracker .project-primary,.project-task-dialog .project-primary{background:#277a50;color:white;border-color:#277a50;font-weight:700}.project-primary:hover{filter:brightness(1.08)}
.project-menu{position:relative}.project-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:8px}.project-menu summary::-webkit-details-marker{display:none}.project-menu>div{position:absolute;z-index:15;right:0;top:42px;width:220px;background:var(--panel);padding:7px;box-shadow:0 10px 35px #0003;border:1px solid var(--line);border-radius:12px}.project-menu button{display:block;width:100%;text-align:left;border:0}
.project-summary{display:flex;gap:35px;padding:18px 22px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--workspace-color,#277a50) 4%,var(--panel));flex-wrap:wrap}.project-summary span{font-size:10px;color:var(--muted)}.project-summary b{display:block;color:var(--ink);font-size:21px;line-height:1.4;margin-bottom:3px;font-variant-numeric:tabular-nums}
.project-filters{display:flex;align-items:center;gap:12px;padding:13px 22px;flex-wrap:wrap}.project-filters label{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.project-search{flex:1;min-width:150px;max-width:320px}.project-search input{width:100%;background:transparent}.project-filters .project-check{gap:5px}.project-check input{accent-color:#277a50;width:16px;height:16px}
.project-status{margin:0 22px 9px;color:var(--muted);font-size:10px}.project-status:empty{display:none}.project-view{flex:1;min-height:150px;min-width:0;overflow:auto;background:color-mix(in srgb,var(--ink) 4%,var(--panel));border-top:1px solid var(--line)}
.project-help{padding:10px 22px;font-size:10px;color:var(--muted);line-height:1.6;border-top:1px solid var(--line)}
.project-load-more{display:block;margin:10px auto;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;cursor:pointer}
.project-empty{text-align:center;padding:50px 25px;margin:auto;max-width:520px;color:var(--muted);line-height:1.9}.project-empty svg{width:45px;height:45px;color:#277a50}.project-empty h3{font-size:22px;color:var(--ink);margin:16px 0 10px}.project-empty .project-primary{margin-top:14px}
.project-timeline{position:relative;min-height:100%;background:var(--panel)}.project-gantt-head{display:flex;height:44px;position:sticky;top:0;z-index:6;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ink) 6%,var(--panel))}.project-gantt-head>span{width:280px;flex:none;padding:15px 18px;box-sizing:border-box;position:sticky;left:0;background:var(--panel);font-weight:700;z-index:7;border-right:1px solid var(--line)}.project-gantt-head>div{position:relative}.project-gantt-head>div span{position:absolute;height:44px;display:grid;place-items:center;border-right:1px solid var(--line);font-size:10px;box-sizing:border-box;white-space:nowrap;overflow:hidden}
.project-gantt-row{display:flex;height:58px;border-bottom:1px solid var(--line)}.project-tracker .project-task-label{position:sticky;left:0;width:280px;flex:none;border:0;border-right:1px solid var(--line);border-radius:0;z-index:4;background:var(--panel);text-align:left;padding:10px 18px}.project-task-label strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.project-task-label small{display:block;color:var(--muted);font-size:9px;margin-top:6px}.project-task-label:hover{background:color-mix(in srgb,#277a50 8%,var(--panel))}
.project-gantt-track{position:relative;background:repeating-linear-gradient(to right,transparent 0 calc(var(--day-size) - 1px),color-mix(in srgb,var(--line) 65%,transparent) calc(var(--day-size) - 1px) var(--day-size))}
.project-tracker .project-bar{position:absolute;top:14px;height:29px;border:1px solid var(--bar-color);background:color-mix(in srgb,var(--bar-color) 75%,var(--panel));color:white;border-radius:7px;text-align:left;padding:4px 10px;touch-action:none;cursor:grab;z-index:3;overflow:hidden;box-shadow:0 2px 4px #0002}.project-bar-progress{position:absolute;inset:0 auto 0 0;background:var(--bar-color);opacity:.7;pointer-events:none}.project-bar-title{position:relative;display:block;font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.project-bar i{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize}.project-bar i[data-project-edge=start]{left:0}.project-bar i[data-project-edge=end]{right:0}.project-tracker .project-bar.is-milestone{padding:2px 0;background:transparent;border:0;color:var(--bar-color);box-shadow:none;font-size:25px;overflow:visible}.project-bar.is-milestone .project-bar-title{font-size:25px}.project-bar.is-milestone .project-bar-progress{display:none}
.project-tracker:has([data-project-filter=critical]:checked) .project-bar.is-critical{outline:2px solid #c87932;outline-offset:2px}.project-baseline{position:absolute;height:5px;top:49px;background:var(--muted);opacity:.5;border-radius:3px}.project-dependencies{position:absolute;top:0;pointer-events:none;z-index:2;overflow:visible}.project-dependencies>path{stroke:var(--muted);fill:none;stroke-width:1.3}.project-dependencies marker path{fill:var(--muted)}.project-today-line{position:absolute;top:0;width:1px;background:#b76c32;opacity:.6;z-index:1;pointer-events:none}
.project-kanban{display:flex;align-items:stretch;gap:18px;padding:22px;box-sizing:border-box}.project-lane{width:290px;min-width:270px;flex:none;background:color-mix(in srgb,var(--ink) 3%,var(--panel));border:1px solid var(--line);border-radius:14px;padding:14px;height:max-content;min-height:200px;box-sizing:border-box}.project-lane>header{display:flex;align-items:center;gap:8px;border-top:3px solid var(--lane-color);padding-top:12px;margin-bottom:16px}.project-lane h3{font-size:12px;margin:0;flex:1}.project-lane>header>span{color:var(--muted);font-size:10px}.project-lane-cards{display:flex;flex-direction:column;gap:12px;min-height:50px}.project-card{border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 3px 7px #0000000d}.project-tracker .project-card>button{display:flex;flex-direction:column;gap:9px;width:100%;border:0;background:transparent;text-align:left;padding:15px}.project-card strong{font-size:12px;line-height:1.6}.project-card small{font-size:9px;color:var(--muted);line-height:1.5}.project-card .project-overdue{color:#b65a3a}.project-priority{font-size:8px;letter-spacing:.6px;text-transform:uppercase;color:var(--lane-color)}.project-card-progress{height:4px;width:100%;background:var(--line);border-radius:5px;overflow:hidden}.project-card-progress i{display:block;height:100%;background:var(--lane-color)}.project-tracker .project-lane-add{width:100%;margin-top:13px;text-align:left;border:0;background:transparent;color:var(--muted)}
.project-task-dialog{width:min(760px,94vw);max-height:88dvh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--panel,#fff);color:var(--ink);box-shadow:0 20px 70px #0005}.project-task-dialog::backdrop{background:#0007;backdrop-filter:blur(3px)}.project-task-dialog header{display:flex;align-items:center;gap:20px;justify-content:space-between;padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:22px}.project-task-dialog h2{font-size:21px;margin:5px 0}.project-task-dialog .eyebrow{color:var(--muted);font-size:9px}.project-task-dialog fieldset{border:0;padding:0;margin:0}.project-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.project-editor-grid>label{display:flex;flex-direction:column;gap:8px;font-size:11px}.project-editor-grid :is(input,select,textarea){width:100%}.project-editor-grid .project-check{flex-direction:row;align-items:center}.project-editor-grid .project-check input{width:16px}.project-wide{grid-column:1/-1}.project-predecessors{max-height:210px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:12px;display:grid;gap:10px}.project-predecessors>span{font-size:11px;font-weight:700;margin-bottom:5px}.project-predecessors label{display:flex;gap:8px;align-items:center;font-size:11px}.project-predecessors input{width:16px}.project-task-dialog footer{display:flex;align-items:center;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.project-task-dialog footer>span{flex:1}.project-task-dialog [data-error]{color:#c25545;font-size:11px;line-height:1.6}.project-task-dialog .project-delete{color:#c64646;border-color:color-mix(in srgb,#c64646 35%,var(--line))}.project-task-dialog svg{width:20px;height:20px}.project-lane-editor{display:grid;grid-template-columns:1fr 45px 75px 75px 38px 38px;gap:8px;align-items:center;margin-bottom:12px}.project-lane-editor>label{display:flex;align-items:center;gap:4px;font-size:10px}
html[data-theme=dark] .project-view{background:#10131a}html[data-theme=dark] .project-card{box-shadow:0 4px 10px #0003}html[data-theme=dark] .project-task-dialog .project-delete{color:#ff9a9a}html[data-theme=dark] .project-overdue{color:#efac85}
@media(max-width:800px){.project-toolbar{padding:12px;gap:12px}.project-toolbar nav{margin-left:0;flex-wrap:wrap}.project-toolbar .eyebrow{display:none}.project-summary{gap:16px;padding:12px}.project-summary b{font-size:16px}.project-summary span{font-size:8px}.project-filters{padding:10px 12px;gap:7px}.project-filters select{max-width:125px}.project-help{padding:8px 12px;font-size:9px}.project-status{margin-inline:12px}.project-toolbar h2{font-size:17px}.project-tracker-workspace .workspace-gallery{padding-bottom:48px}.project-task-dialog{padding:18px}.project-editor-grid{gap:12px}.project-lane-editor{grid-template-columns:1fr 40px 65px}.project-kanban{padding:14px;gap:12px}.project-lane{min-width:260px;width:270px}}
@media(max-width:420px){.project-editor-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.project-task-dialog footer{flex-wrap:wrap}.project-summary{gap:12px}.project-summary span:last-child{display:none}.project-view-switch button{padding:7px 9px}.project-toolbar nav{gap:5px}}
@media(prefers-reduced-motion:reduce){.project-tracker *{scroll-behavior:auto!important}}
@media print{body:has(.project-tracker:not([hidden])) .workspace-top,body:has(.project-tracker:not([hidden])) .app-watermark,.project-toolbar nav,.project-filters,.project-help{display:none!important}.project-tracker-workspace .workspace-gallery{height:auto!important;overflow:visible}.project-view{overflow:visible;max-height:none}.project-tracker{display:block}.project-gantt-row{break-inside:avoid}.project-task-label{position:static!important}.project-view{zoom:.65}}
.project-workload{display:grid;gap:12px}.project-workload article{border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:9px}.project-workload span,.project-workload small{font-size:11px;color:var(--muted)}.project-workload .project-overdue{color:#b65a3a}
@media(max-height:500px){.project-summary{display:none}.project-toolbar{padding:8px 12px}.project-toolbar .eyebrow{display:none}.project-filters{padding:7px 12px}.project-help{display:none}.project-view{min-height:80px}}
.project-reference{color:var(--workspace-color,#277a50);font-size:11px}.project-task-dialog footer{flex-wrap:wrap}
html[data-theme=dark] .project-view-switch button[aria-pressed=true]{color:#9ed8b9}html[data-theme=dark] .project-priority{color:color-mix(in srgb,var(--lane-color) 55%,#fff)}
/* Compact controls leave room for the board on small phones. */
@media(max-width:420px){.project-toolbar{gap:9px;padding:10px 12px}.project-toolbar h2{font-size:16px}.project-view-switch{padding:3px;gap:2px}.project-view-switch button{font-size:10px;padding:6px 8px;gap:5px}.project-view-switch svg{width:15px;height:15px}.project-toolbar nav{gap:5px}.project-toolbar nav>button:not(.project-primary),.project-menu summary{width:30px;height:30px;padding:5px}.project-toolbar .project-primary{padding:7px 8px;font-size:10px}.project-summary span:nth-child(n+3){display:none}.project-summary{padding:8px 12px}.project-filters :is(input,select){font-size:10px;padding:7px 9px}.project-help{display:none}}
.project-checklist>header{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:0;border:0}.project-checklist h3{font-size:14px;margin:0 0 6px}.project-checklist small{color:var(--muted);font-size:10px}.project-checklist-group{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px;background:color-mix(in srgb,var(--ink) 2%,var(--panel))}.project-checklist-heading{display:flex;align-items:center;gap:7px;margin-bottom:12px}.project-checklist-heading>input{flex:1;font-weight:700}.project-checklist-item{display:grid;grid-template-columns:18px minmax(0,1fr) 120px 32px 32px;gap:7px;align-items:center;margin-bottom:10px}.project-editor-grid .project-checklist-item>[type=checkbox]{width:16px;height:16px;accent-color:#277a50}.project-checklist-item button,.project-checklist-heading button{padding:7px}.project-checklist-item:has([data-checklist-done]:checked) [data-checklist-text]{text-decoration:line-through;color:var(--muted)}.project-checklist-group>[data-checklist-add-task]{background:transparent;font-size:11px;color:var(--workspace-color,#277a50)}
@media(max-width:600px){.project-checklist>header{align-items:start;flex-wrap:wrap}.project-checklist-item{grid-template-columns:18px minmax(0,1fr) 32px 32px}.project-checklist-item>select{grid-column:2;grid-row:2;width:100%}.project-checklist-item>[data-checklist-item-up]{grid-column:3;grid-row:1}.project-checklist-item>[data-checklist-remove-item]{grid-column:4;grid-row:1}.project-checklist-group{padding:10px}}
.project-section-row{display:flex;height:38px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--workspace-color,#277a50) 8%,var(--panel))}.project-section-row>div{position:sticky;left:0;z-index:4;display:flex;gap:6px;align-items:center;width:280px;flex:none;box-sizing:border-box;padding:5px 12px;background:var(--panel);border-right:1px solid var(--line)}.project-section-row strong{flex:1;font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.project-section-row button{padding:2px 6px}.project-tracker .project-task-label{display:flex;gap:8px;align-items:center;padding:8px 12px}.project-task-label>[type=checkbox]{width:16px;height:16px;flex:none;accent-color:#277a50}.project-tracker .project-task-info{border:0;background:transparent;padding:2px;flex:1;min-width:0;text-align:left}.project-task-info>strong,.project-task-info>small{display:block}.project-task-label:has([data-project-complete]:checked) strong{text-decoration:line-through;color:var(--muted)}
.project-tracker .project-delete{color:#c64646}html[data-theme=dark] .project-tracker .project-delete{color:#ff9a9a}
/* One opaque header and one unshrunk date grid across the complete chart. */
.project-gantt-head{--project-header-surface:color-mix(in srgb,var(--ink) 6%,var(--panel));background:var(--project-header-surface)}.project-gantt-head>span,.project-gantt-head>div{background:var(--project-header-surface)}.project-gantt-head>div{flex:none;overflow:hidden}.project-gantt-track{flex:none}.project-timeline{min-width:100%}
