/* Portal-only styling. The header uses the same compiled stylesheet as the main site. */
.cc-page .cc-site-chrome{position:sticky;top:0;z-index:50}
.cc-page .cc-site-chrome .site-header{position:relative;top:auto}
.cc-page .utility-product-inner>.utility-product-label{display:block;white-space:normal;min-width:0;flex:1 1 220px}
.cc-content{font-family:Arial,sans-serif;color:#111a2d;background:#f2efe8;font-size:16px}
.cc-content *{box-sizing:border-box}
.cc-content a{color:#2346c7;text-decoration:underline;text-underline-offset:3px}
.cc-content button,.cc-content input,.cc-content select,.cc-content textarea{font:inherit}
.cc-content button,.cc-content .button{min-height:48px;padding:12px 18px;background:#2f4fd0;color:white;border:1px solid #2f4fd0;border-radius:3px;font-weight:700;cursor:pointer;text-decoration:none;text-transform:none;letter-spacing:normal;display:inline-flex;align-items:center;justify-content:center}
.cc-content button:disabled{background:#dce1eb;border-color:#dce1eb;color:#556075;cursor:not-allowed}
.cc-content .secondary{background:white;color:#21315b;border-color:#aab3c5}
.cc-content .shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.cc-content main.shell{padding:44px 0}
.cc-content .cc-account-links{display:flex;justify-content:flex-end;padding-top:18px}
.cc-content .eyebrow{text-transform:uppercase;font-size:.85rem;letter-spacing:.12em;color:#3152c6;font-weight:700}
.cc-content h1{font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.05;margin:12px 0 22px;letter-spacing:-.035em}
.cc-content h2{font-size:1.55rem;font-weight:700;margin:0 0 14px}
.cc-content h3{font-size:1.15rem;font-weight:700;margin:26px 0 14px}
.cc-content main :is(h1,h2,h3){font-family:Arial,sans-serif!important;font-weight:700!important;text-transform:none;word-spacing:normal;text-wrap:wrap;max-width:none}
.cc-content main h1{line-height:1.05!important;letter-spacing:-.035em!important}
.cc-content main :is(h2,h3){line-height:1.2!important;letter-spacing:normal!important}
.cc-content p{line-height:1.6;margin:1em 0}
.cc-content .panel{padding:32px;background:white;border-top:4px solid #2f4fd0;margin:24px 0;min-width:0}
.cc-content .light{background:#e9edf8}
.cc-content .login-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cc-content .login-layout .panel{margin:0}
.cc-content .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.cc-content label{display:block;font-size:.9rem;font-weight:700;line-height:1.5}
.cc-content input:not([type=submit]),.cc-content select,.cc-content textarea{display:block;width:100%;min-width:0;min-height:48px;margin-top:7px;padding:11px 12px;background:#fff;border:1px solid #aeb5c2;border-radius:3px;color:#111a2d}
.cc-content textarea{resize:vertical}
.cc-content input:focus,.cc-content select:focus,.cc-content textarea:focus,.cc-content button:focus-visible,.cc-content a:focus-visible{outline:3px solid #91a7ff;outline-offset:3px}
.cc-content .notice{padding:18px 22px;background:#edf1ff;border-left:4px solid #2f4fd0;margin:24px 0}
.cc-content .notice p{margin:8px 0 0}
.cc-content .tabs,.cc-content .actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}
.cc-content .tabs a{padding:12px 16px;background:white;font-weight:700}
.cc-content .measurement-result{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#111a2d;color:white;padding:24px}
.cc-content .measurement-result span{display:block;font-size:.9rem}
.cc-content .measurement-result strong{display:block;font-size:2rem;margin-top:8px}
.cc-content .item{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto) 100px auto;align-items:center;gap:20px;border-bottom:1px solid #d2d7e0;padding:18px 0;font-variant-numeric:tabular-nums}
.cc-content .item .item-waste input{margin-top:4px}
.cc-content .cc-material-editor{grid-column:1/-1!important;min-width:0;padding:20px;background:#f4f6fc;border:1px solid #c8cfdd}
.cc-content .cc-material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;margin-top:16px}
.cc-content .cc-material-grid input:disabled,.cc-content .cc-material-grid select:disabled{background:#e9edf5;color:#25334d;opacity:1}
.cc-content .cc-material-source,.cc-content .cc-material-note{font-size:.875rem;line-height:1.55}
.cc-content .cc-material-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:18px;font-size:1rem;line-height:1.7;padding:16px;background:white;border-left:3px solid #2f4fd0;margin-top:16px}
.cc-content .cc-material-result strong{display:block;font-size:1.25rem}
.cc-content .cc-material-weight{grid-column:1/-1;margin:0}
.cc-content .cc-material-error{border-color:#b42318;color:#9d1c12}
.cc-content .cc-trace-summary,.cc-content .plan-record-actions{grid-column:1/-1}
.cc-content .cc-material-documents small{display:block;line-height:1.5}
.cc-content .cc-source-manifest{font-size:.875rem;overflow-wrap:anywhere}
.cc-content #gravel-match input[type=file]{max-width:100%;min-width:0}
.cc-content .cc-product-total{flex-basis:100%;font-weight:700}
.cc-content input[aria-invalid=true]{border:2px solid #b42318;background:#fff2ef}
.cc-content .print-waste{display:none!important}
.cc-content .measurement-result small{display:block;line-height:1.5;margin-top:10px}
.cc-content .measurement-result,.cc-content .totals{font-variant-numeric:tabular-nums}
.cc-content .item small{display:block;font-size:.875rem;line-height:1.5;color:#526076;margin-top:7px}
.cc-content .item button{background:white;color:#2346c7;border:1px solid #ccd2df}
.cc-content .totals{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0}
.cc-content .totals span{padding:12px 16px;background:#edf1ff}
.cc-content .small{font-size:.875rem;color:#526076}
.cc-content .footer{padding:24px 0;font-size:.875rem}
.cc-content :is(h1,h2,h3,p,a,strong,small){overflow-wrap:anywhere}
.cc-content [hidden]{display:none!important}
.cc-content .cc-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400}
.cc-content .cc-consent input[type=checkbox]{width:22px;min-width:22px;height:22px;min-height:22px;margin:2px 0 0;padding:0}
.cc-content :is(#request-account,#project-tool,#resources,#tool-terms){scroll-margin-top:230px}
.cc-content #cc-human{max-width:320px}
.cc-content #drawing-tool{scroll-margin-top:230px}
.cc-content .plan-file-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) auto;align-items:end;gap:16px;margin-top:24px}
.cc-content .plan-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0}
.cc-content .plan-toolbar button{padding:10px 14px}
.cc-content .plan-toolbar button[aria-pressed=true]{background:#111a2d;color:#fff;border-color:#111a2d}
.cc-content .plan-toolbar .plan-zoom{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cc-content .plan-scale-panel{padding:20px;background:#fff7e4;border:1px solid #bd9143;margin:16px 0}
.cc-content .plan-scale-inputs{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:12px 0}
.cc-content .plan-scale-inputs label{flex:1;min-width:120px;max-width:240px}
.cc-content .plan-stage{position:relative;width:100%;height:clamp(380px,65vh,700px);overflow:hidden;background:#e0e5ee;border:1px solid #aeb5c2}
.cc-content .plan-stage canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-4px}
.cc-content .plan-stage canvas:focus-visible{outline:3px solid #2346c7}
.cc-content .plan-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:28px;pointer-events:none;color:#526076}
.cc-content .plan-empty strong{font-size:1.35rem;display:block;color:#111a2d}
.cc-content .plan-measurement{display:grid;grid-template-columns:minmax(140px,1fr) minmax(130px,1fr) 95px auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid #d2d7e0;font-variant-numeric:tabular-nums}
.cc-content .plan-measurement small{display:block;margin-top:6px;font-size:.875rem;line-height:1.5;color:#526076}
.cc-content .plan-record-actions{display:flex;flex-wrap:wrap;gap:8px}
.cc-content #cc-plan-status{min-height:1.6em}
.cc-content #cc-plan-draft{font-weight:700;font-variant-numeric:tabular-nums}
.cc-content .cc-export-report{margin:24px 0;border:1px solid #aeb5c2;border-radius:3px}
.cc-content .cc-export-report>summary{padding:16px;font-weight:700;cursor:pointer;background:#edf1ff}
.cc-content .cc-report-content{padding:20px}
.cc-content .cc-report-brand{font-weight:700;color:#2346c7}
.cc-content .cc-table-scroll{max-width:100%;overflow-x:auto}
.cc-content .cc-measurement-table{width:100%;min-width:670px;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.cc-content .cc-measurement-table th{background:#111a2d;color:white;font-weight:700;text-align:center}
.cc-content .cc-measurement-table :is(th,td){padding:12px 10px;vertical-align:top;border-bottom:1px solid #c8cfdd;font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}
.cc-content .cc-measurement-table :is(th,td):first-child{width:45%;text-align:left}
.cc-content .cc-measurement-table td:not(:first-child){text-align:right}
.cc-content .cc-measurement-table td strong{display:block}
.cc-content .cc-measurement-table td small{display:block;margin-top:7px;line-height:1.5;font-size:.875rem;color:#526076}
.cc-content .cc-report-content h4{font-size:1rem;font-weight:700;margin:20px 0 8px}
.cc-content #cc-report-notes{white-space:pre-wrap}
.cc-content .cc-report-limit{font-size:.875rem;line-height:1.5}
.cc-content .cc-howto{margin:18px 0}
.cc-content .cc-howto>summary{width:fit-content;max-width:100%;min-height:48px;padding:12px 18px;border:1px solid #2346c7;border-radius:3px;background:white;color:#2346c7;font-size:1rem;font-weight:700;line-height:1.5;cursor:pointer;overflow-wrap:anywhere}
.cc-content .cc-howto>summary:focus-visible{outline:3px solid #91a7ff;outline-offset:3px}
.cc-content .cc-howto[open]>summary{background:#edf1ff}
.cc-content .cc-howto-body{padding:16px 22px;background:#f4f6fc;border-left:3px solid #3152c6;margin-top:10px}
.cc-content .cc-howto ol{list-style:decimal;padding-left:24px;margin:0}
.cc-content .cc-howto li{display:list-item;line-height:1.65;margin:10px 0;padding-left:4px;overflow-wrap:anywhere}
.cc-content .cc-howto p{margin:16px 0 0}
@media(max-width:900px){.cc-content .plan-measurement{grid-template-columns:minmax(0,1fr) 100px}.cc-content .plan-measurement>label:first-child,.cc-content .plan-measurement>.plan-record-actions{grid-column:1/-1}.cc-content .plan-file-row{grid-template-columns:minmax(0,1fr) auto}.cc-content .plan-file-row>label:first-child{grid-column:1/-1}}
@media(max-width:500px){.cc-content .plan-toolbar .plan-zoom{margin-left:0;width:100%}.cc-content .plan-toolbar button{padding:10px}.cc-content .plan-stage{height:430px}.cc-content .plan-record-actions button{flex:1}.cc-content .plan-file-row{grid-template-columns:1fr}.cc-content .plan-measurement{gap:12px}}
.cc-skip{position:absolute;left:-10000px}
.cc-skip:focus{left:20px;top:10px;z-index:1000;background:white;color:#2346c7;padding:10px}
.cc-header-fallback{padding:24px;background:#030303;color:white;font:700 20px Arial,sans-serif}
@media(max-width:1000px){
  .cc-page .utility-product-inner{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:10px;padding-bottom:10px;height:auto}
  .cc-page .utility-product-inner>.utility-product-label{display:block;width:100%;flex:0 0 auto;text-align:center;white-space:normal;font-size:14px;line-height:1.4}
  .cc-page .utility-product-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}
  .cc-page .utility-product-links a{min-width:0;white-space:normal;justify-content:center;text-align:center;padding:8px;flex-wrap:wrap;gap:6px}
  .cc-page .utility-product-links strong{white-space:normal;overflow-wrap:anywhere;font-size:14px}
  .cc-page .utility-product-links em{white-space:normal;overflow-wrap:anywhere}
  .cc-page .utility-product-cta{display:none}
}
@media(max-height:600px){.cc-page .cc-site-chrome{position:static}}
@media(max-width:700px){
  .cc-content .shell{width:calc(100% - 28px)}
  .cc-content .login-layout,.cc-content .grid{grid-template-columns:1fr}
  .cc-content .panel{padding:22px 18px}
  .cc-content .measurement-result{align-items:stretch;flex-direction:column}
  .cc-content .item{grid-template-columns:minmax(0,1fr) minmax(75px,100px);gap:12px}
  .cc-content .item>div{grid-column:1/-1}
  .cc-content .item .item-waste{grid-column:1}
  .cc-content .actions{flex-direction:column}
  .cc-content .actions button{width:100%}
}
@media print{
  .cc-content .cc-material-editor{display:none!important}
  .cc-content .cc-howto{display:none!important}
  @page{size:letter landscape;margin:14mm}
  .cc-content main.shell:has(.cc-export-report)>*:not(#project-tool):not(#tool-terms){display:none!important}
  .cc-content #project-tool:has(.cc-export-report)>*:not(.cc-export-report){display:none!important}
  .cc-content .cc-export-report{display:block!important;border:0;margin:0}
  .cc-content .cc-export-report>summary{display:none!important}
  .cc-content .cc-report-content{display:block!important;padding:0}
  .cc-content .cc-report-content h3{font-size:18pt;margin:10px 0}
  .cc-content .cc-report-content p{font-size:10pt}
  .cc-content .cc-table-scroll{overflow:visible}
  .cc-content .cc-measurement-table{min-width:0;width:100%}
  .cc-content .cc-measurement-table thead{display:table-header-group}
  .cc-content .cc-measurement-table tr{break-inside:avoid;page-break-inside:avoid}
  .cc-content .cc-measurement-table :is(th,td){font-size:10pt;padding:8px 6px}
  .cc-content .cc-measurement-table th{background:#e9edf5!important;color:#111a2d!important;border-top:1px solid #777}
  .cc-content .cc-measurement-table td small{font-size:9pt;color:#333}
  .cc-content #tool-terms{font-size:10pt}
  .cc-content #drawing-tool{display:none!important}
  body,.cc-content{background:white}
  .cc-site-chrome,.site-header,.utility-bar,.cc-header-fallback,.cc-account-links,.cc-skip,.cc-content .tabs,.cc-content .actions,.cc-content .footer,.cc-content #resources,.cc-content #cc-fields,.cc-content #cc-input-status,.cc-content #cc-added,.cc-content .measurement-result,.cc-content .item button,.cc-content .item-waste,.cc-content .small,.cc-content .eyebrow,.cc-content #tool-terms form{display:none!important}
  .cc-content .print-waste{display:block!important}
  .cc-content .item{grid-template-columns:minmax(0,1fr) auto}
  .cc-content .shell{width:100%;padding:0!important}
  .cc-content .panel{border:0;padding:0}
  .cc-content input,.cc-content select,.cc-content textarea{border:0!important}
  .cc-content .item,.cc-content .notice{break-inside:avoid}
  .cc-content .grid{display:none}
  .cc-content .grid:has(#cc-project){display:grid}
  .cc-content .grid:has(#cc-project)>label:not(:first-child){display:none}
  .cc-content .notice{background:white;border:1px solid #888}
  .cc-content h1{font-size:24pt}
}
