.reports-shell{max-width:1180px}.completion-report,.client-report-row{border:1px solid var(--line);background:#fff;border-radius:8px}.completion-report{overflow:hidden}.report-head,.client-report-row{justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.report-head{border-bottom:1px solid var(--line)}.report-head h2,.client-report-row h2{margin:3px 0 0;font-size:1.35rem}.report-head .button,.client-report-row .button{flex:none;width:auto}.report-controls{grid-template-columns:minmax(170px,240px) minmax(170px,240px) auto;align-items:end;gap:12px;padding:18px 22px 10px;display:grid}.report-controls label{color:var(--muted);gap:6px;font-size:.76rem;font-weight:800;display:grid}.report-controls input{min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #b9c4ba;border-radius:6px;padding:8px 10px}.report-controls .button{width:auto;min-height:44px}.date-shortcuts{flex-wrap:wrap;gap:7px;padding:0 22px 16px;display:flex}.date-shortcuts button{min-height:34px;color:var(--green-dark);font:inherit;cursor:pointer;background:#fff;border:1px solid #bdc8be;border-radius:5px;padding:5px 10px;font-size:.75rem;font-weight:800}.report-message{min-height:1.5em;color:var(--muted);margin:0;padding:0 22px 16px;font-weight:750}.completion-summary{border-top:1px solid var(--line);background:#f2f6f2;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.completion-summary>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:14px}.completion-summary>div:nth-child(5n){border-right:0}.completion-summary span,.completion-route-facts span{color:var(--muted);font-size:.7rem;display:block}.completion-summary strong,.completion-route-facts strong{overflow-wrap:anywhere;margin-top:4px;display:block}.route-report-list{display:grid}.completion-route{border-top:1px solid var(--line)}.completion-route>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:17px 22px;list-style:none;display:flex}.completion-route>summary::-webkit-details-marker{display:none}.completion-route>summary>div{gap:3px;min-width:0;display:grid}.completion-route>summary>div>strong{font-size:1.05rem}.completion-route>summary>div>span:last-child{color:var(--muted);overflow-wrap:anywhere;font-size:.78rem}.completion-route>summary:after{content:"+";color:var(--green);font-size:1.3rem;font-weight:850}.completion-route[open]>summary:after{content:"−"}.route-completion-status{color:#825800;white-space:nowrap;background:#fff3d8;border-radius:5px;margin-left:auto;padding:5px 8px;font-size:.68rem;font-weight:900}.route-completion-status.completed{color:#24652b;background:#e5f3e7}.completion-route-body{border-top:1px solid var(--line)}.completion-quality,.route-completion-notes{color:#744900;background:#fff8e8;border-left:3px solid #c17a11;border-radius:6px;margin:14px 18px 0;padding:10px 12px;font-size:.78rem;font-weight:750;line-height:1.45}.route-completion-notes{color:#244e68;background:#eef6fb;border-left-color:#4c86ad}.completion-route-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 18px;display:grid}.completion-route-facts>div{background:#f8faf8;border:1px solid #dce5dd;border-radius:6px;min-width:0;padding:11px 12px}.completion-ledger{border-top:1px solid var(--line);overflow-x:auto}.completion-ledger-head,.completion-stop-row{grid-template-columns:48px minmax(190px,1.3fr) 90px 88px 72px 72px 72px 76px 115px minmax(240px,1.6fr);align-items:start;min-width:1136px;display:grid}.completion-ledger-head{color:#59665b;text-transform:uppercase;background:#edf3ee;font-size:.65rem;font-weight:900}.completion-ledger-head>span,.completion-stop-row>*{min-width:0;padding:10px 11px}.completion-stop-row{border-top:1px solid #e1e7e2;font-size:.78rem}.completion-stop-row.skipped{background:#fff8f7}.completion-stop-row.not_recorded,.completion-stop-row.moved_out{background:#fffaf0}.completion-stop-identity{gap:3px;display:grid}.completion-stop-identity span{color:var(--muted);overflow-wrap:anywhere}.completion-tag{color:#4d574f;background:#edf0ed;border-radius:4px;width:fit-content;padding:4px 6px;font-size:.65rem;font-weight:850}.completion-tag.moved_in,.completion-tag.first_cut,.completion-tag.added{color:#285d80;background:#e8f1f8}.completion-tag.status.completed{color:#24652b;background:#e4f3e6}.completion-tag.status.skipped,.completion-tag.status.moved_out{color:#92332d;background:#fdebea}.completion-tag.status.not_recorded{color:#775000;background:#fff1cf}.completion-stop-notes{overflow-wrap:anywhere;gap:4px;display:grid}.completion-stop-notes small{color:var(--muted);line-height:1.35}.client-report-row{margin-top:18px}.client-report-row p{color:var(--muted);margin:7px 0 0}#clientReportMessage{padding-top:10px}@media (width<=760px){.report-head,.client-report-row{flex-direction:column;align-items:stretch}.report-head .button,.client-report-row .button{width:100%}.report-controls{grid-template-columns:1fr 1fr}.report-controls .button{grid-column:1/-1;width:100%}.completion-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-summary>div,.completion-summary>div:nth-child(5n){border-right:1px solid var(--line)}.completion-summary>div:nth-child(2n){border-right:0}.completion-route-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-ledger{overflow:visible}.completion-ledger-head{display:none}.completion-stop-row{grid-template-columns:42px minmax(0,1fr) auto;gap:9px 8px;min-width:0;padding:13px 14px;display:grid}.completion-stop-row>*{padding:0}.completion-stop-identity{grid-column:2/-1}.completion-stop-row>[data-label]:not(.completion-stop-sequence):before{content:attr(data-label);color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:.58rem;font-weight:850;display:block}.completion-stop-row>.completion-tag{align-self:start}.completion-stop-notes{grid-column:1/-1;padding-top:6px}}@media (width<=480px){.report-controls{grid-template-columns:1fr}.report-controls .button{grid-column:1}.completion-route>summary{padding:15px 16px}.route-completion-status{display:none}.completion-route-facts{grid-template-columns:1fr 1fr;padding:12px}.completion-route-facts>div{padding:10px}}
