/* The original paper headings and columns, adapted to screen width. */
.paper-date{width:145px;margin-left:auto;font-size:9px}
.paper-date input{min-height:34px;margin-top:4px;padding:5px 8px;font-size:12px}
.card-heading:has(.paper-date) .required-note{margin-left:8px}
.notes-crew{align-items:start}
.notes-crew label{display:flex;flex-direction:column}
.notes-crew textarea{flex:1;min-height:160px}
.material-row>div>.material-spec{min-height:45px;padding:10px 12px;margin-top:8px;font-size:14px;max-width:none}
.work-rows[data-type="paving"]{--work-cols:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.2fr)}
.work-rows[data-type="waste"]{--work-cols:minmax(0,1.5fr) minmax(0,.75fr) minmax(0,1.5fr)}
.work-rows[data-type="returns"]{--work-cols:minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,.5fr) minmax(0,.5fr)}
.work-rows[data-type="pits"]{--work-cols:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1.4fr)}
.work-columns{display:grid;grid-template-columns:28px var(--work-cols);gap:10px;padding:0 0 12px;border-bottom:1px solid #cecec0;font:400 9px var(--mono);text-transform:uppercase;color:#77776b}
.work-row{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:start;border:0;border-bottom:1px solid #dfdfd2;margin:0;padding:13px 0;background:white}
.work-row-head{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding-top:3px;font-size:10px}
.work-row-head .icon-btn{min-width:22px;min-height:22px;font-size:14px;color:#a0a091}
.row-type{display:none}
.work-row .field-grid{grid-template-columns:var(--work-cols);gap:10px;align-items:start}
.work-row .field-grid>.full{grid-column:auto}
.work-row .field-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.work-row input,.work-row select{margin:0;min-height:43px;font-size:12px;padding:9px 7px}
.work-row input::placeholder{font-size:10px}
.closing-field{min-width:0}
.closing-extra{margin-top:8px}
.closing-extra input{font-size:11px}
.closing-extra input::placeholder{font-size:9px}
.review-end{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #deded1;padding-top:20px}
.review-end .review-section{margin:0}
@media(max-width:650px){
 .card-heading:has(.paper-date){flex-wrap:wrap}
 .card-heading:has(.paper-date)>div{flex:1}
 .paper-date{order:3;width:100%;margin-left:0;display:flex;align-items:center;gap:12px;font-size:10px;padding-top:6px}
 .paper-date input{width:170px;min-height:40px;font-size:16px;margin:0}
 .card-heading:has(.paper-date) .required-note{order:2;margin:0}
 .notes-crew{grid-template-columns:1fr}
 .material-row>div>.material-spec{min-height:47px;padding:8px 5px;font-size:16px}
 .work-columns{display:none}
 .work-row{display:block;border:1px solid #d7d7c9;background:#fcfcf7;padding:14px;margin:0 0 12px}
 .work-row-head{flex-direction:row;justify-content:space-between;align-items:center;padding:0;margin-bottom:12px}
 .row-type{display:inline}
 .work-row .field-grid{grid-template-columns:1fr;gap:14px}
 .work-row .field-label{position:static;display:block;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal}
 .work-row input,.work-row select{font-size:16px;min-height:47px;margin-top:7px;padding:10px}
 .work-row input::placeholder{font-size:12px}
 .closing-extra input{font-size:16px}
 .review-end{grid-template-columns:1fr;gap:20px}
}
@media print{.review-end{display:grid;grid-template-columns:1fr 1fr;gap:18px;break-inside:avoid}.review-end .review-section{margin:0!important}}

.report-sharing{border:1px solid #d4d4c5;border-left:3px solid var(--red);background:#f8f8f2;padding:20px;margin-top:26px}
.sharing-heading h3{font:600 25px var(--head);text-transform:uppercase;letter-spacing:.2px;margin:6px 0 15px}
.sharing-recipients{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
.sharing-recipients dt{font:400 9px var(--mono);color:#7c7c6e;text-transform:uppercase;margin-bottom:5px}
.sharing-recipients dd{font-size:12px;margin:0;overflow-wrap:anywhere}
.sharing-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sharing-actions a{text-decoration:none}
.sharing-actions .text-btn{margin-left:auto}
.sharing-note{font-size:10px;line-height:1.8;color:#767669;margin:13px 0 0}
.message-details{margin-top:15px;border-top:1px solid #deded0;padding-top:12px;font-size:11px}
.message-details summary{cursor:pointer;font-weight:500;color:#575747}
.message-label{margin-top:14px}
#share-message{font-size:12px;line-height:1.7;white-space:pre-wrap;background:#fff}
@media(max-width:650px){.report-sharing{padding:16px}.sharing-recipients{grid-template-columns:1fr}.sharing-actions{align-items:stretch;flex-direction:column}.sharing-actions .text-btn{margin-left:0}.sharing-actions .btn{min-height:46px}.sharing-note{font-size:11px}#share-message{font-size:16px}}

.pdf-document{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid #cecec1;border-top:3px solid var(--red);background:#fff;margin-bottom:20px}
.pdf-format{flex-shrink:0;display:grid;place-items:center;width:50px;height:64px;border:1px solid #c9c9bb;border-top:5px solid var(--red);font:600 17px var(--head);color:var(--red);background:#f8f8f2}
.pdf-description{min-width:0;flex:1}
.pdf-description h3{font:600 24px var(--head);text-transform:uppercase;margin:0 0 7px}
.pdf-description p{font:400 10px var(--mono);margin:0 0 7px;overflow-wrap:anywhere;color:#67675a}
#pdf-status{font-size:10px;color:#777768;line-height:1.7;display:block}
.pdf-document-actions{display:flex;flex-direction:column;align-items:center;gap:6px}
.pdf-document-actions a{text-decoration:none}
.pdf-mail-steps{display:flex;gap:16px;margin:0 0 22px;padding:16px 0;list-style:none;border-top:1px solid #deded0;border-bottom:1px solid #deded0;font-size:10px;color:#737364}
.pdf-mail-steps li{flex:1;line-height:1.8}
.pdf-mail-steps span{display:inline-block;margin-right:7px;font:500 11px var(--mono);color:var(--red)}
.report-sharing .sharing-actions .text-btn{margin-left:0}
#dialog-content{margin-top:20px}
@media(max-width:650px){.pdf-document{flex-wrap:wrap;gap:13px;padding:17px}.pdf-document-actions{width:100%;flex-direction:row;justify-content:space-between}.pdf-description h3{font-size:22px}.pdf-description p{font-size:9px}.pdf-mail-steps{flex-direction:column;gap:7px;font-size:11px}}

/* Multiple material types share a heading and keep separate quantities. */
.material-group{border-bottom:1px solid #dfdfd2;padding:17px 0 13px}
.material-group-heading{margin-bottom:10px}
.material-group-heading strong{display:block;font-size:13px;font-weight:500}
.material-group-heading small{display:block;font-size:10px;color:#929281;margin-top:4px}
.material-group .material-variant{border:0;padding:0;margin:0 0 10px;align-items:center}
.material-type{display:flex;gap:6px;align-items:center;min-width:0}
.material-type .material-spec{flex:1;min-width:0;max-width:none;min-height:45px;margin:0;padding:10px 12px;font-size:14px}
.material-variant>input,.material-variant>select{margin:0;min-height:45px}
.material-type .icon-btn{flex:0 0 38px;min-width:38px;min-height:45px;border:1px solid #d5d5c7;color:#8a3a35;font-size:20px}
.material-add-type{display:inline-flex;align-items:center;min-height:42px;padding:7px 0;font-size:12px;text-align:left}
@media(max-width:650px){
 .material-group-heading strong{font-size:12px}
 .material-type{gap:4px}
 .material-type .material-spec{min-height:47px;padding:8px 5px;font-size:16px}
 .material-type .icon-btn{flex-basis:30px;min-width:30px;min-height:47px}
 .material-variant>input,.material-variant>select{min-height:47px}
}

.material-value{display:block;min-width:0}
.material-value>span{display:none}
.material-value input,.material-value select{width:100%;min-height:45px;margin:0}
@media(max-width:450px){
 .material-group .material-variant{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
 .material-variant .material-type{grid-column:1/-1}
 .material-value>span{display:block;margin-bottom:5px;font:400 9px var(--mono);text-transform:uppercase;color:#77776b}
 .material-value input,.material-value select{min-height:47px}
}
.material-row>.material-type>.material-spec{margin:0}

.crew-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.crew-options select{width:100%;min-height:47px}
@media(max-width:650px){.crew-options{grid-template-columns:1fr;gap:18px}}

.material-fixed-unit{display:flex;align-items:center;justify-content:center;width:100%;min-height:45px;border:1px solid #cecebe;background:#f8f8f3;font-size:12px;color:#727267}
.material-value .cable-quantity{font-size:12px;padding:8px 4px;min-height:45px}
@media(max-width:650px){
 .material-group .material-cable{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
 .material-cable .material-type{grid-column:1/-1}
 .material-cable .material-value>span{display:block;margin-bottom:5px;font:400 9px var(--mono);text-transform:uppercase;color:#77776b}
 .material-cable .material-value .cable-quantity{font-size:16px;min-height:47px;padding:8px}
 .material-fixed-unit{min-height:47px}
}


.material-group .material-pannekes{grid-template-columns:minmax(0,1fr)}
.material-pannekes .material-type{grid-column:1/-1}

.paving-address-stack{display:grid;gap:8px;min-width:0}
.review-table td{white-space:pre-line}
@media(max-width:650px){.paving-address-stack{gap:14px}}

.material-row.material-conduit{grid-template-columns:minmax(0,1fr)}
.material-conduit-name{display:block;font-size:13px;font-weight:500}

.paving-kind-field{min-width:0}
.paving-kind-picker summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;padding:9px 7px;border:1px solid #cecebe;background:#fff;font-size:12px;line-height:1.4;cursor:pointer;list-style:none}
.paving-kind-picker summary::-webkit-details-marker{display:none}
.paving-kind-label{min-width:0;overflow-wrap:anywhere}
.paving-kind-picker[open] summary{background:#f8f8f2}
.paving-kind-picker summary:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.paving-kind-options{display:grid;gap:2px;padding:6px;border:1px solid #cecebe;border-top:0;background:#fff}
.work-row .paving-kind-option{display:flex;align-items:center;gap:9px;min-height:40px;padding:6px;margin:0;font:400 12px var(--font);text-transform:none;letter-spacing:0;cursor:pointer}
.work-row .paving-kind-option input{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin:0;accent-color:var(--red)}
@media(max-width:650px){.paving-kind-picker summary{min-height:47px;padding:10px;font-size:16px}.work-row .paving-kind-option{min-height:44px;font-size:14px}}

@media(max-width:650px){.material-group .material-no-unit .material-value{grid-column:1/-1}}
