/* Projects and related work reuse the task workspace's colors and spacing. */
.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;padding:24px}.project-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;padding:22px;color:var(--text);text-decoration:none;min-width:0}.project-card:hover{border-color:var(--blue);background:var(--soft)}.project-card>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.project-card h2{font-size:17px;line-height:1.6;overflow-wrap:anywhere;margin:20px 0 8px}.project-card>p{font-size:12px;color:var(--muted);line-height:1.8;min-height:44px;overflow-wrap:anywhere}.project-card footer{display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);margin-top:20px;padding-top:15px;font-size:11px;color:var(--secondary)}.project-card footer .icon:last-child{margin-left:auto}.project-progress{margin-top:auto;padding-top:20px}.project-progress progress{width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;background:var(--soft);accent-color:var(--blue)}.project-progress progress::-webkit-progress-bar{background:var(--soft)}.project-progress progress::-webkit-progress-value{background:var(--blue);border-radius:6px}.project-progress>span{display:block;font-size:11px;color:var(--secondary);margin-top:10px}.project-detail{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.project-summary{padding:24px}.project-summary h2{font-size:16px;margin:24px 0 12px}.project-summary dl{font-size:12px}.project-summary dt{color:var(--muted);margin-top:20px;font-size:10px}.project-summary dd{margin:9px 0}.project-summary>.subtle{font-size:10px;line-height:1.8;margin-top:20px}.project-task{display:flex;align-items:center;gap:16px;padding:22px 24px;border-top:1px solid var(--border);text-decoration:none;color:var(--text)}.project-task>div{flex:1;min-width:0}.project-task strong{display:block;font-size:13px;margin:8px 0;overflow-wrap:anywhere}.project-task small{color:var(--muted);font-size:10px}.project-task:hover{background:var(--soft)}.project-task-list .booking-pagination{padding:20px}.task-relations h2{font-size:16px}.task-relation-body{padding:0 24px 24px}.task-relation-body dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:12px}.task-relation-body dt{color:var(--muted);margin-bottom:9px;font-size:10px}.task-relation-body dd{margin:0;line-height:1.8}.task-relation-body a{color:var(--blue);text-decoration:none;overflow-wrap:anywhere}.task-relation-body h3{font-size:12px;margin-top:24px}.task-relation-body h3 span{margin-left:8px;color:var(--muted)}.task-relation-body p{font-size:11px;line-height:1.8}.task-relation-list>a,.task-relation-body dd>a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;padding:10px 0}.task-relation-list>a{border-bottom:1px solid var(--border)}.task-relation-list strong{font-weight:500}.task-relation-picker details{border-top:1px solid var(--border);margin-top:15px;padding-top:15px}.task-relation-picker summary{cursor:pointer;font-size:12px}.relation-selected{font-size:11px;line-height:1.8;margin:10px 0;overflow-wrap:anywhere}.relation-selected strong{color:var(--muted);font-weight:500}.relation-selected .text-btn{font-size:10px;margin-left:8px}.relation-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:5px;padding:3px 6px;margin:5px}.relation-chip button{border:0;background:none;color:var(--muted);cursor:pointer;font-size:18px}.relation-search{display:flex;gap:8px;margin:14px 0}.relation-search input{min-width:0}.relation-options{max-height:220px;overflow:auto}.relation-options label{display:flex;flex-direction:row;gap:10px;align-items:flex-start;margin:10px 0!important;font-size:11px;line-height:1.7}.relation-options input{width:15px;height:15px;flex-shrink:0;margin:2px}.relation-options small{display:block;color:var(--muted);font-size:10px}.relation-options p{font-size:11px}.relation-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.relation-pager span{font-size:10px;color:var(--muted)}.relation-pager .btn{padding:7px 10px;font-size:10px}
@media(max-width:950px){.project-detail{grid-template-columns:1fr}.project-summary dl{display:grid;grid-template-columns:auto 1fr;gap:10px}.project-summary dt,.project-summary dd{margin:0}.project-grid{padding:18px}}
@media(max-width:500px){.project-task{padding:18px;flex-wrap:wrap}.project-task>div{flex-basis:100%}.project-task>.icon{margin-left:auto}.task-relation-body{padding:0 20px 20px}.task-relation-body dl{grid-template-columns:1fr}.task-relation-list>a{align-items:flex-start;flex-direction:column}.task-relations .panel-heading{flex-wrap:wrap;gap:12px}.project-grid{grid-template-columns:minmax(0,1fr)}.project-summary{padding:20px}}

.project-office{align-self:flex-start;margin-top:12px;max-width:100%;white-space:normal;overflow-wrap:anywhere;gap:6px}.project-office .icon{width:13px;height:13px;flex-shrink:0}
/* Project dates and decision workspace. */
.project-filters{flex-wrap:wrap}.project-filters .filter-actions label{margin:0;font-size:11px}.project-extra{flex:1 0 100%;border-top:1px solid var(--border);padding-top:12px}.project-extra summary{font-size:12px;cursor:pointer}.project-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.project-filter-grid label{font-size:11px;margin:0}.project-filter-grid select,.project-filter-grid input{max-width:100%;width:100%;min-width:0}.project-target{font-size:12px;margin-top:8px}.project-late{color:var(--danger,#D90368)!important;font-weight:600}.project-card-signals{display:flex;gap:7px;flex-wrap:wrap;font-size:11px}.project-card-signals span{padding:4px 7px;border-radius:5px;background:var(--soft)}.project-heading-strip{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:12px;margin:0 0 22px}.project-heading-strip>span{display:flex;align-items:center;gap:7px}.project-health{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.project-health a{display:flex;justify-content:space-between;gap:10px;padding:16px 13px;border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);background:var(--surface);font-size:11px}.project-health strong{font-size:20px}.project-health a:hover{border-color:var(--blue)}.project-scope{font-size:11px;color:var(--muted);line-height:1.7;margin:12px 0 20px}.project-summary h2{margin-top:0}.project-view-links{padding:0 20px 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-view-links small{font-size:10px;color:var(--muted)}.project-task-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px 20px;gap:10px;border-top:1px solid var(--border)}.project-task-filters>input{grid-column:1/3}.project-task-filters label{margin:0;font-size:10px}.project-task-filters select{max-width:100%;width:100%;min-width:0}.project-task-filters>.btn{grid-row:1;grid-column:3;justify-self:end}.project-history article{padding:20px 24px;border-bottom:1px solid var(--border)}.project-history header{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:12px;margin-bottom:15px}.project-history header span,.project-history small{font-size:10px;color:var(--muted)}.project-history article>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;font-size:12px;line-height:1.8;margin:7px 0}.project-history article>div span{white-space:pre-wrap;overflow-wrap:anywhere}.project-history article>div b{font-weight:500;color:var(--muted)}.project-history p{font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.project-history .booking-pagination{padding:20px}.project-decision-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-decision-counts span{padding:12px;background:var(--soft);border-radius:7px;font-size:12px}.project-decision-counts b{display:block;font-size:24px;margin-top:5px}.project-exception{display:flex;flex-direction:row;gap:10px;align-items:center;padding:12px;border-left:3px solid #FFD400;background:var(--soft)}.project-exception input{width:18px;height:18px;flex-shrink:0}.project-back{display:inline-flex;margin:0 12px 10px 0}
@media(max-width:1100px){.project-health{grid-template-columns:repeat(3,minmax(0,1fr))}.project-detail{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:950px){.project-detail{grid-template-columns:1fr}.project-summary .project-progress{padding-top:8px}.project-heading-strip{gap:12px}}
@media(max-width:600px){.project-filter-grid{grid-template-columns:1fr}.project-health{grid-template-columns:repeat(2,minmax(0,1fr))}.project-task-filters{grid-template-columns:1fr}.project-task-filters>input{grid-column:1}.project-task-filters>.btn{grid-column:1;grid-row:auto;justify-self:start}.project-history article{padding:18px}.project-history article>div{grid-template-columns:1fr;gap:2px}.project-heading-strip>span{width:100%}.project-decision-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-task-list .panel-heading{flex-wrap:wrap;gap:12px}}
.milestone-panel{padding:24px}.milestone-panel .panel-heading{padding:0 0 20px;gap:16px;align-items:flex-start;flex-wrap:wrap}.milestone-panel .panel-heading p{margin:8px 0 0;color:var(--muted)}.milestone-summary,.milestone-meta,.milestone-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.milestone-summary{padding:14px 0;border-block:1px solid var(--border);gap:24px}.milestone-summary b{font-size:20px;margin-right:5px}.milestone-filters{display:flex;align-items:end;gap:12px;margin:20px 0}.milestone-filters>label:first-child{flex:1}.milestone-filters label{margin:0;min-width:0}.milestone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.milestone-card{border:1px solid var(--border);border-radius:14px;padding:20px;text-decoration:none;color:var(--text);min-width:0;transition:border-color .15s}.milestone-card:hover{border-color:var(--blue)}.milestone-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.milestone-card h3{font-size:18px;margin:16px 0 8px;overflow-wrap:anywhere}.milestone-card p{color:var(--muted);font-size:13px}.milestone-card .inline-note{display:block}.milestone-meta{font-size:13px;padding:0 0 20px}.milestone-panel>.project-progress{max-width:600px;padding:18px 0}.milestone-decisions{padding:8px 0 24px}.milestone-task{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--border)}.milestone-task>a,.milestone-task>div{display:grid;gap:5px;min-width:0;text-decoration:none;color:var(--text);overflow-wrap:anywhere}.milestone-task>a:hover strong{color:var(--blue)}.milestone-task small{color:var(--muted)}.milestone-task>.btn{flex-shrink:0}.milestone-picker-list{max-height:42vh;overflow:auto}.milestone-panel .panel-heading h2{overflow-wrap:anywhere}
@media(max-width:800px){.milestone-grid{grid-template-columns:1fr}.milestone-panel{padding:18px}}
@media(max-width:600px){.milestone-filters{flex-wrap:wrap;align-items:stretch}.milestone-filters>label{flex:1 1 100%}.milestone-task{align-items:flex-start;flex-direction:column}.milestone-summary{gap:16px}.milestone-meta>span{flex-basis:100%}.milestone-meta>.badge{flex-basis:auto}.milestone-panel .panel-heading>.milestone-actions{width:100%}.milestone-actions .btn{white-space:normal}}
/* Reusable project plans */
.template-panel{padding:28px}.template-stats{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0;color:var(--secondary);font-size:12px}.template-stats b{color:var(--text);font-size:20px;margin-right:4px}.template-plan{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:26px;margin:24px 0}.template-plan h2{font-size:16px;margin:0 0 14px}.template-plan-item{border:1px solid var(--border);border-radius:10px;margin:0 0 10px;overflow:hidden}.template-plan-item summary{display:flex;align-items:flex-start;gap:12px;padding:16px;cursor:pointer;list-style:none}.template-plan-item summary:after{content:'+';margin-left:auto;color:var(--muted)}.template-plan-item[open] summary:after{content:'−'}.template-plan-item summary>span:nth-child(2){min-width:0}.template-plan-item summary strong{display:block;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.template-plan-item summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.8}.template-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--soft);color:var(--blue);font-size:12px;font-weight:600}.template-plan-item>div{border-top:1px solid var(--border);padding:16px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.template-plan-item h3{font-size:12px}.template-assignments{padding:18px 0;border-block:1px solid var(--border);margin:18px 0}.template-assignments summary{cursor:pointer;font-weight:600;margin-bottom:12px}.template-assignments label{margin-top:14px}.template-preview{border-top:2px solid var(--blue);margin-top:24px;padding-top:20px;scroll-margin-top:16px}.dialog-body .template-plan{grid-template-columns:1fr;gap:16px}.template-panel>h2,.template-preview h3{overflow-wrap:anywhere}.template-panel>.task-prose{max-width:850px;line-height:1.8}
@media(max-width:900px){.template-plan{grid-template-columns:1fr}}
@media(max-width:600px){.template-panel{padding:18px}.template-stats{gap:12px}.template-plan-item summary{padding:12px}.template-assignments label{overflow-wrap:anywhere}}
#dialog[open]:has(#pt-capture,#pt-use,#pt-settings){display:flex;flex-direction:column;overflow:hidden}
#dialog:has(#pt-capture,#pt-use,#pt-settings)>.dialog-heading{flex-shrink:0}
#pt-capture,#pt-use,#pt-settings{display:flex;flex-direction:column;min-height:0;overflow:hidden}
:is(#pt-capture,#pt-use,#pt-settings)>.dialog-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}
:is(#pt-capture,#pt-use,#pt-settings)>.dialog-footer,:is(#pt-capture,#pt-use,#pt-settings)>.form-draft-status{flex-shrink:0}
:is(#pt-capture,#pt-use,#pt-settings)>.form-draft-banner{flex-shrink:0;max-height:40vh;overflow-y:auto}
@media(max-width:500px){#pt-use .form-grid{grid-template-columns:1fr}}

.project-access-preview{margin-top:20px;padding:18px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.project-access-preview>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-access-preview h3{font-size:15px;margin:0}.project-access-preview p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.project-access-group{border-top:1px solid var(--border);padding:12px 0}.project-access-group h4,.project-access-group summary{font-size:13px;font-weight:600;margin:0;cursor:pointer}.project-access-group ul{padding:0;list-style:none;display:grid;gap:10px;margin:10px 0}.project-access-group li{border-left:3px solid var(--blue);padding:3px 10px;font-size:12px;overflow-wrap:anywhere}.project-access-group small,.project-access-group li span{display:block;color:var(--muted);line-height:1.7}.project-access-confirm{display:flex!important;flex-direction:row;align-items:flex-start;gap:10px;padding:14px;background:var(--blue-soft);font-size:13px;line-height:1.7}.project-access-confirm input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--blue)}
#dialog[open]:has(#project-form){display:flex;flex-direction:column;overflow:hidden}#dialog:has(#project-form)>.dialog-heading{flex-shrink:0}#project-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}#project-form>.dialog-body{overflow-y:auto;min-height:0;overscroll-behavior:contain}#project-form>.dialog-footer,#project-form>.form-draft-status{flex-shrink:0}#project-form>.form-draft-banner{flex-shrink:0;max-height:35vh;overflow-y:auto}@media(max-width:600px){.project-access-preview{padding:12px}.project-access-preview>header{align-items:flex-start;flex-direction:column}}
