.project-stage-scroll{overflow-x:auto;margin:0 0 22px;padding:14px 0 8px}
.project-stage-track{display:flex;list-style:none;margin:0;padding:0;min-width:820px}
.project-stage-track li{flex:1;position:relative;text-align:center;color:#8a9aa6;font-size:14px;line-height:1.5;isolation:isolate}
.project-stage-track li:before{content:"";position:absolute;left:calc(-50% + 17px);right:calc(50% + 17px);height:2px;top:9px;background:#dce4e9;z-index:-1}
.project-stage-track li:first-child:before{display:none}
.project-stage-track i{display:block;width:20px;height:20px;border:4px solid var(--bg);border-radius:50%;background:#c5d0d8;margin:0 auto 10px;box-sizing:content-box;transform:translateY(-4px)}
.project-stage-track .is-past:before,.project-stage-track .is-current:before{background:#75aaa6}
.project-stage-track .is-past i{background:#6da6a0}.project-stage-track .is-past{color:#557d7a}
.project-stage-track .is-current{color:#117b76;font-weight:700}.project-stage-track .is-current i{background:#118580;box-shadow:0 0 0 3px #d6ebe8}
.material-check{margin-bottom:20px;overflow:hidden}.material-check>summary{display:flex;align-items:center;gap:24px;padding:18px 22px;cursor:pointer;list-style:none}.material-check>summary::-webkit-details-marker{display:none}
.material-check-title{font-weight:650;font-size:17px;color:var(--ink);white-space:nowrap}.material-check-title small{font-size:12px;font-weight:400;padding:4px 7px;margin-left:8px;background:#edf5f6;color:#557d84;border-radius:4px}
.material-counts{display:flex;gap:28px;margin-left:auto}.material-counts>span{white-space:nowrap;font-size:14px}.material-counts b{font-size:21px;margin:0 5px;font-variant-numeric:tabular-nums}
.material-counts .ready{color:#298268}.material-counts .missing{color:#a77927}.material-counts .confirm{color:#7a8a98}
.material-toggle{font-size:14px;color:var(--primary);white-space:nowrap;margin-left:16px}.material-check .when-open{display:none}.material-check[open] .when-open{display:inline}.material-check[open] .when-closed{display:none}
.material-check-body{padding:0 22px 16px}.material-explanation{display:flex;justify-content:space-between;gap:16px;padding:0 0 14px;color:#7c8e9d;font-size:13px}.material-explanation p{margin:0}.material-explanation a{white-space:nowrap}.material-check table{width:100%}.material-check th:last-child{width:160px}.material-check td:first-child{width:28%}.material-issue:before{content:"•";margin-right:8px;color:#b8914e}.material-issue.confirm:before{color:#8b99a7}.material-footnote{margin:12px 0 0;font-size:12px;color:#8394a1}.material-empty{padding:16px;background:#f6f9fa;border-radius:6px;margin:0;color:#667e8b}
@media(max-width:1100px){.material-check>summary{flex-wrap:wrap;gap:12px}.material-counts{gap:15px}.material-toggle{margin-left:auto}}
@media(max-width:600px){.material-check>summary{padding:16px}.material-counts{order:3;width:100%;margin:0;justify-content:space-between;gap:5px}.material-counts b{font-size:18px}.material-check-title{font-size:15px}.material-check-body{padding:0 16px 16px}.material-check table{min-width:620px}}
@media print{.project-stage-track{min-width:0}.material-check>summary{flex-wrap:wrap}.material-toggle{display:none}}

/* Compact timeline: title, contact, completion date. */
.timeline-tiles{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}
.timeline-tile{padding:11px 12px;gap:6px}
.timeline-tile .tile-meta{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px}
.timeline-tile .tile-contact{max-width:100%}
@media(max-width:560px){.timeline-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-tile{padding:10px}}

.group-finance{margin-bottom:22px;overflow:hidden}.group-finance-tools{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--muted)}
.group-finance-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.group-finance-stat{padding:22px 18px;min-width:0;border-right:1px solid var(--line)}.group-finance-stat:last-child{border-right:0}.group-finance-stat>span{display:block;font-size:14px;color:#617b8b}.group-finance-stat strong{display:block;margin:10px 0 9px;color:var(--ink);font-size:clamp(18px,1.4vw,26px);font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.3}.group-finance-stat small{display:block;color:#8a9ba7;font-size:12px;line-height:1.6}.group-finance-stat.is-balance{background:#f0f8f6}.group-finance-stat.is-balance strong{color:#187d71}.group-finance-stat strong.is-pending{font-size:17px;font-weight:500;color:#8799a4}.group-finance-stat.is-negative strong{color:#b54747}
@media(max-width:1450px){.group-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.group-finance-stat:nth-child(3){border-right:0}.group-finance-stat:nth-child(-n+3){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.group-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-finance-stat{padding:18px 12px}.group-finance-stat:nth-child(3){border-right:1px solid var(--line)}.group-finance-stat:nth-child(2n){border-right:0}.group-finance-stat:nth-child(-n+4){border-bottom:1px solid var(--line)}.group-finance-tools{gap:8px}.group-finance .panel-heading{gap:10px}.group-finance-tools>span{display:none}}

/* 1.0.72: compact document cards; completion colour denotes date only. */
.timeline-tiles{gap:16px;counter-reset:document-card}
.timeline-tile-wrap{counter-increment:document-card}
.timeline-tile-wrap:not(:last-of-type):after{content:none}
.visual-pilot .timeline-tile{position:relative;height:112px;min-height:112px;padding:12px 14px 11px 15px;gap:6px;border:1px solid #dce6ed;border-left:3px solid #6baaa3;border-radius:8px;background:#fff;color:#183c4c;box-shadow:0 2px 5px #173c4c04;justify-content:space-between;transition:border-color .15s,box-shadow .15s,background .15s;transform:none}
.timeline-tile:before{content:"";position:absolute;right:10px;top:13px;width:5px;height:5px;border-radius:50%;background:#6baaa3}
.timeline-tile:after{content:counter(document-card,decimal-leading-zero);position:absolute;right:10px;bottom:10px;font-size:10px;color:#a3b5bf;font-variant-numeric:tabular-nums}
.timeline-tile .tile-title{padding-right:7px;font-size:14px;line-height:1.5;font-weight:600;-webkit-line-clamp:2;color:#183c4c}
.timeline-tile .tile-meta{gap:3px;font-size:12px;color:#6e8593;padding-right:15px}
.timeline-tile .tile-time{font-size:12px;font-variant-numeric:tabular-nums;color:#6e8593}
.visual-pilot .timeline-tile.is-missing{background:#fff8f7;border-color:#eedbd7;border-left-color:#ce8176}
.timeline-tile.is-missing:before{background:#ce8176}
.timeline-tile.is-missing .tile-time{color:#b55a50}
.visual-pilot .timeline-tile:hover{border-color:#168580;background:#f7fcfb;box-shadow:0 3px 10px #19354b0d;transform:none}
.visual-pilot .timeline-tile:focus-visible{outline:2px solid #168580;outline-offset:3px}
@media(max-width:560px){.timeline-tiles{gap:12px}.visual-pilot .timeline-tile{padding:10px 12px;height:112px;min-height:112px}}
@media(prefers-reduced-motion:reduce){.visual-pilot .timeline-tile{transition:none}}

/* 1.0.83: timeline-only visual pilot; existing dialogs and order are unchanged. */
.project-materials{background:#fff;border:1px solid #dfe8ee;border-radius:10px;padding:18px 20px 20px;margin-top:4px}
.materials-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.materials-heading>div:first-child{display:flex;align-items:baseline;gap:16px;min-width:0;flex-wrap:wrap}
.materials-heading h2{font-size:16px;white-space:nowrap}.materials-heading h2 span{font-size:12px;font-weight:400;color:#718593;margin-left:8px}
.materials-order{font-size:12px;color:#8093a0}.materials-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.project-materials .timeline-tiles{grid-template-columns:repeat(auto-fill,minmax(154px,1fr));gap:14px}
.visual-pilot .project-materials .timeline-tile{height:112px;min-height:112px;padding:12px 13px;border:1px solid #dfe8ee;border-radius:7px;background:#fafffd;box-shadow:none;gap:6px}
.project-materials .timeline-tile:before{left:12px;right:auto;top:19px;width:6px;height:6px;background:#5b9f8c}
.project-materials .timeline-tile:after{content:none}
.project-materials .timeline-tile .tile-title{padding-left:13px;padding-right:0;font-size:14px;line-height:21px;min-height:42px;font-weight:600;color:#234253;overflow-wrap:anywhere}
.project-materials .timeline-tile .tile-meta{padding:0;gap:2px;color:#718492;font-size:12px}
.project-materials .timeline-tile .tile-time{color:#6d8291;font-size:12px}
.visual-pilot .project-materials .timeline-tile.is-missing{background:#fff7f6;border-color:#eedbd7}
.project-materials .timeline-tile.is-missing:before{background:#c98278}
.project-materials .timeline-tile.is-missing .tile-time{color:#b55a50}
.visual-pilot .project-materials .timeline-tile:hover{border-color:#80b6ac;background:#f2faf7;box-shadow:0 3px 8px #173c4c08}
@media(max-width:560px){.project-materials{padding:14px 12px}.materials-heading{gap:8px;margin-bottom:14px}.materials-heading>div:first-child{gap:4px}.materials-order{font-size:11px}.materials-actions{gap:6px}.materials-actions .button{padding:8px 10px}.project-materials .timeline-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-pilot .project-materials .timeline-tile{padding:12px 10px}.project-materials .timeline-tile:before{left:10px}}

/* 1.0.84: task-oriented material lookup and continuous reading. */
.material-searchbar{display:flex;align-items:center;gap:10px;margin:-2px 0 16px;flex-wrap:wrap}.material-searchbar input{width:280px;max-width:100%}.material-searchbar select{width:200px}.material-searchbar>span{font-size:12px;color:#738794}.material-searchbar label{margin:0}
.timeline-tile-wrap[hidden]{display:none!important}.material-next-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}.card-nav{display:flex;gap:6px;margin-left:auto}.card-nav button:disabled{opacity:.4;cursor:default}
.file-reader-layout{display:grid;grid-template-columns:220px minmax(0,1fr);height:calc(85vh - 65px);min-height:250px}.file-reader-list{padding:12px;overflow:auto;border-right:1px solid #dfe8ee;display:flex;flex-direction:column;gap:8px}.file-reader-list .button{white-space:normal;overflow-wrap:anywhere;text-align:left;justify-content:flex-start}.file-reader-document{min-width:0;overflow:auto;background:#f4f7fa}.file-preview-dialog .file-reader-document iframe{width:100%;height:100%;border:0;display:block}.file-preview-dialog .file-reader-document img{display:block;max-width:100%;height:auto;margin:0 auto}.file-preview-dialog .file-reader-layout{width:100%}.file-preview-heading strong{overflow-wrap:anywhere;min-width:0}
@media(max-width:600px){.material-searchbar{align-items:stretch}.material-searchbar label{flex:1 1 140px;min-width:0}.material-searchbar input,.material-searchbar select{width:100%}.card-dialog-toolbar{flex-wrap:wrap}.card-nav{order:3;width:100%;justify-content:space-between}.file-reader-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.file-reader-list{max-height:120px;flex-direction:row;border-right:0;border-bottom:1px solid #dfe8ee}.file-reader-list .button{min-width:140px}}

.material-searchbar .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}.file-reader-layout{flex:1;min-height:0}
