:root{color-scheme:light;--ink:#333333;--forest:#28714e;--muted:#62665f;--line:#dfe3da;--canvas:#f6f6f4;--green:#206352;--accent:#96c93c;--focus:#206352;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--green)}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}button:disabled{cursor:default}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:3000}.skip-link:focus{top:10px}.brand-bar{background:var(--forest);color:white;border-bottom:3px solid var(--accent)}.brand-inner{max-width:1240px;margin:auto;padding:18px 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;}.brand-mark{width:35px;height:35px;border:1px solid #ffffff60;display:grid;place-items:center;}.brand-caption{color:#28714e}.page{max-width:1240px;margin:auto;padding:0 40px}.page-heading{padding:42px 0 32px;display:flex;align-items:center;justify-content:space-between;gap:28px}.eyebrow{color:var(--green);margin:0 0 7px}h1{margin:0;}.intro{margin:10px 0 0;color:var(--muted);}.overview{display:flex;align-items:center;gap:25px;flex:none}.overview div{display:flex;flex-direction:column}.overview strong{font-variant-numeric:tabular-nums;color:var(--forest)}.overview span{color:var(--muted)}.overview-divider{height:45px;width:1px;background:var(--line)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.status-filter,.view-filter{display:flex;align-items:center;gap:5px}.status-filter button{border:1px solid transparent;background:transparent;min-height:44px;padding:7px 15px;border-radius:7px;display:flex;gap:9px;align-items:center;justify-content:center}.status-filter button span{font-variant-numeric:tabular-nums;background:#e8ecdf;border-radius:4px;padding:1px 7px;color:#56604f;min-width:24px}.status-filter button[aria-pressed=true]{background:var(--forest);color:white}.status-filter button[aria-pressed=true] span{background:#ffffff20;color:white}.status-filter button:hover:not([aria-pressed=true]){background:#eef2e8}.view-filter{background:#e9ede5;border:1px solid #dfe3da;border-radius:7px;padding:3px;gap:2px}.view-filter button{min-height:38px;padding:6px 12px;display:flex;align-items:center;gap:7px;border:0;background:transparent;border-radius:5px;color:var(--muted)}.view-filter button[aria-pressed=true]{background:white;color:var(--forest);box-shadow:0 1px 3px #28714e15}.results-bar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:18px 0}.results-bar p{margin:0;color:var(--muted)}#result-summary{color:#51594b}.farm-label{display:inline-block;background:#edf3e5;color:#206352;padding:4px 9px;border-radius:4px;white-space:nowrap}.status-badge{color:#206352;background:#f2f7e9;border:1px solid #d7e5bd;border-radius:4px;padding:2px 7px;white-space:nowrap}.status-badge.closed{background:#f0f1ee;color:#596251;border-color:#e0e4da}.job-link{color:var(--ink);text-decoration:none}.job-link::after{position:absolute;inset:0;content:"";border-radius:10px}.empty-state{text-align:center;padding:62px 22px;background:white;border:1px solid var(--line);border-radius:10px;min-height:290px;display:flex;align-items:center;justify-content:center;flex-direction:column}.empty-state h2{margin:16px 0 7px}.empty-state p{color:var(--muted);margin:0;max-width:440px}.empty-symbol{border-radius:50%;width:46px;height:46px;background:#edf3e5;color:var(--green);display:grid;place-items:center;}.text-button{color:var(--green);background:transparent;border:0;padding:12px 16px;margin-top:14px;min-height:44px;}.map-empty{min-height:410px;background:linear-gradient(150deg,#fff,#edf3e5)}.map-empty>svg{width:42px;height:42px;stroke-width:1.2;color:var(--green)}.map-caption{color:var(--muted);margin:0 0 14px}#farm-map{height:490px;border:1px solid var(--line);border-radius:10px;background:#eaf0e2}.map-farms{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.map-farms button{border:1px solid var(--line);border-radius:6px;padding:9px 13px;min-height:44px;background:white;}.map-farms button:hover{border-color:var(--green)}.farm-pin{background:var(--forest);color:white;border:3px solid white;min-width:44px;height:38px;border-radius:7px;box-shadow:0 2px 8px #28714e50;padding:4px 8px;white-space:nowrap;text-align:center}.leaflet-popup-content a{display:block;padding:9px 0;text-decoration:underline}.leaflet-control-attribution a{min-height:auto}.load-error{padding:30px;text-align:center;background:white;border:1px solid var(--line);border-radius:10px}footer{display:flex;justify-content:space-between;padding:34px 0 28px;margin-top:22px;border-top:1px solid var(--line);color:#697160;}footer span:first-child{color:#536144}dialog{width:min(620px,calc(100% - 36px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #d8e0ce;border-radius:14px;box-shadow:0 20px 80px #24342035;color:var(--ink);overscroll-behavior:contain}dialog::backdrop{background:#231f2090;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 5px;position:sticky;top:0;background:white;z-index:2}.job-id{color:var(--muted)}.icon-button{border:0;border-radius:6px;width:44px;height:44px;display:grid;place-items:center;background:#eff3e9}.icon-button:hover{background:#e4eddb}.dialog-body{padding:8px 30px 32px}.detail-labels{display:flex;align-items:center;gap:10px}dialog h2{margin:18px 0 15px}.detail-description{white-space:pre-line}.detail-dates{display:flex;gap:38px;margin:24px 0}.detail-dates dt{color:var(--muted);margin-bottom:3px}.detail-dates dd{margin:0;}.detail-section{border-top:1px solid var(--line);padding-top:19px;margin-top:22px}.detail-section h3{margin:0 0 12px}.detail-section p{color:var(--muted);margin:0}.map-link{display:inline-flex;align-items:center;gap:8px;border:1px solid #c3d5a8;border-radius:7px;padding:10px 13px;min-height:44px;text-decoration:none;background:#f2f7e9;}.attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.attachment{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:7px;overflow:hidden;color:var(--ink)}.attachment img{width:100%;height:160px;object-fit:cover;background:#edf3e5}.attachment span{padding:10px 12px;overflow-wrap:anywhere}.attachment .pdf-icon{height:92px;background:#edf3e5;display:flex;align-items:center;justify-content:center;color:var(--green);}.attachment small{color:var(--muted);padding:0 12px 10px}
@media(min-width:1500px){.page,.brand-inner{max-width:1360px}}
@media(max-width:1020px){.overview{gap:20px}.page,.brand-inner{padding-left:28px;padding-right:28px}.page-heading{gap:20px}}
@media(max-width:650px){.brand-inner{padding:15px 20px}.brand{gap:10px}.brand-mark{width:30px;height:30px;}.brand-caption{display:none}.page{padding:0 20px}.page-heading{padding:27px 0 23px;display:block}.eyebrow{margin-bottom:8px}.intro{margin-top:9px}.overview{margin-top:20px;gap:16px}.overview div{flex-direction:row;align-items:baseline;gap:7px}.overview-divider{height:22px}.toolbar{flex-wrap:wrap;gap:12px;padding:12px 0}.status-filter{flex:1}.status-filter button{padding:7px 11px;gap:7px}.view-filter button{padding:7px 9px}.view-filter button svg{width:16px;height:16px}.results-bar{margin:16px 0;gap:10px;align-items:flex-start;flex-wrap:wrap}.map-empty{min-height:340px;padding:35px 18px}#farm-map{height:440px}dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);border-radius:12px}.dialog-body{padding:7px 22px 25px}.dialog-top{padding-left:22px;padding-right:12px}.attachment-grid{gap:10px}.attachment img{height:130px}footer{padding:25px 0;gap:12px}.leaflet-popup-content{max-width:230px}}
@media(max-width:390px){.toolbar{gap:10px}.status-filter{width:100%;flex:initial}.status-filter button{flex:1}.view-filter{margin-left:auto}.page{padding:0 16px}.overview{gap:12px}}.location-note{margin-top:10px!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Aspen Plantation brand: original leaf logos, white masthead, charcoal and greens. */
.brand-bar{background:#fff;border-bottom:0;color:#333}
.brand-inner{padding-top:14px;padding-bottom:14px;min-height:110px}
.brand{display:inline-flex;flex-shrink:0;max-width:100%;color:#333;}
.brand-logo{display:block;width:166px;height:auto;max-width:100%}
.brand-caption{color:#28714e;border-top:4px solid #28714e;padding-top:15px;align-self:stretch;display:flex;align-items:center}
.page-heading{position:relative;padding-top:26px;padding-bottom:28px;margin-bottom:24px;background:#231f20;color:#fff;box-shadow:0 0 0 100vmax #231f20;clip-path:inset(0 -100vmax)}
.eyebrow{color:#96c93c;}
.overview strong{color:white}
.overview span{color:#d6d8d1}.overview-divider{background:#ffffff35}
.toolbar{border-top:0;padding-top:0}
.status-filter button[aria-pressed=true]{background:#96c93c;color:#24341a;border-color:#96c93c}
.status-filter button[aria-pressed=true] span{background:#ffffff55;color:#24341a}
.status-filter button{border-radius:3px;}
.view-filter,.view-filter button{border-radius:3px}
.view-filter button[aria-pressed=true]{box-shadow:none;border-bottom:2px solid #28714e}.empty-state,.map-link,.map-farms button{border-radius:4px}
.job-link::after{border-radius:4px}
.farm-label{background:#eaf1df;color:#206352;border-radius:2px}
.status-badge{border-radius:2px}
dialog{border-radius:5px}
.map-empty{background:linear-gradient(145deg,#fff,#f0f4e9)}
footer{align-items:center;padding:26px 0 30px;margin-top:30px}
.footer-logo{display:block;width:126px;height:auto;filter:grayscale(1);mix-blend-mode:multiply;opacity:.8}
footer>span{text-transform:uppercase;color:#62665f}
@media(max-width:650px){
 .brand-inner{min-height:94px;padding-top:10px;padding-bottom:10px}
 .brand-logo{width:145px}.brand-caption{display:none}
 .page-heading{padding-top:22px;padding-bottom:22px;margin-bottom:20px}
 .overview{margin-top:14px}
 .footer-logo{width:112px}
}

/* One project per row at every screen size. */
.results-header{position:sticky;top:0;z-index:1100;display:flow-root;background:var(--canvas);box-shadow:0 1px 0 var(--line)}
.job-link{scroll-margin-top:140px}
.list-heading,.job-row{display:grid;grid-template-columns:85px 95px minmax(0,1fr)80px 70px 125px;column-gap:20px;padding:16px}
.list-heading{padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--muted)}
.job-list{list-style:none;margin:0;padding:0;background:#fff}
.job-row{position:relative;align-items:start;border-bottom:1px solid var(--line)}
.job-row:hover,.job-row:focus-within{background:#f0f4e9}
.project-number{color:var(--forest);font-variant-numeric:tabular-nums}
.project-field{color:var(--muted);overflow-wrap:anywhere}
.project-content{min-width:0}
.project-content .job-link{display:block;font-weight:400;color:inherit}
.job-row .job-link::after{border-radius:0}
.job-row:hover .job-link{color:var(--forest)}
.project-content p{margin:0;color:var(--muted);font-weight:400;white-space:pre-line;overflow-wrap:anywhere}
.project-status{justify-self:start;margin-top:2px}
.priority-badge{display:inline-block;padding:2px 7px;border:1px solid;border-radius:2px;white-space:nowrap}
.priority-badge.high{color:#982b22;background:#fff0ed;border-color:#efbdb6}
.priority-badge.medium{color:#79510b;background:#fff7df;border-color:#ead394}
.priority-badge.low{color:#4e5965;background:#f0f3f6;border-color:#d2dbe4}
.project-priority{justify-self:start;margin-top:2px}
.detail-labels{flex-wrap:wrap}
.project-metadata{display:flex;flex-direction:column;gap:8px;padding-top:3px;color:var(--muted);}
.project-date{white-space:nowrap;font-variant-numeric:tabular-nums}
.project-icons{display:flex;align-items:center;gap:10px;color:var(--forest)}
.project-icons span{display:flex}
.project-icons svg{width:16px;height:16px}
.mobile-label{display:none}
@media(max-width:1020px){
 .list-heading,.job-row{grid-template-columns:80px 80px minmax(0,1fr)74px 72px 110px;column-gap:12px;padding-left:12px;padding-right:12px}
}
@media(max-width:820px){
 .list-heading,.job-row{grid-template-columns:80px minmax(0,1fr)74px;column-gap:12px;padding-left:10px;padding-right:10px}
 .list-heading .desktop-heading{display:none}
 .priority-heading{justify-self:end}
 .job-row{row-gap:9px;padding-top:16px;padding-bottom:16px}
 .project-number{grid-column:1;grid-row:1}
 .project-field{grid-column:2;grid-row:1}
 .project-priority{grid-column:3;grid-row:1;justify-self:end;margin:0}
 .project-status{grid-column:3;grid-row:3;justify-self:end;margin:0}
 .project-content{grid-column:1 / -1;grid-row:2}
 .project-metadata{grid-column:1 / 3;grid-row:3;flex-direction:row;flex-wrap:wrap;align-items:center;padding:0}
 .mobile-label{display:inline}
}

/* Owner typography specification: Company_Info/Logo/TYPOGRAPHY_260917.md. */
:root{
 --font-ui:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
 font-family:var(--font-ui);
 font-size:14px;
 font-weight:400;
 line-height:1.5;
 letter-spacing:0;
 font-variant-numeric:tabular-nums;
 font-variant-ligatures:none;
 font-feature-settings:"tnum" 1,"calt" 0,"liga" 0;
 -webkit-font-smoothing:antialiased;
}
body{font-family:var(--font-ui);font-size:14px;line-height:1.5}
button,input,select,textarea{font:inherit;letter-spacing:0}
h1,h2,h3,strong,b{font-weight:600}
h1{font-size:24px;line-height:1.5}
h2,dialog h2{font-size:18px;line-height:1.5}
h3,.detail-section h3{font-size:14px;line-height:1.5}
.brand-caption,.eyebrow,footer>span{font-size:13px;font-weight:500}
.overview strong{font-size:24px;font-weight:600;line-height:1.5}
.overview span,.status-filter button,.view-filter button{font-size:13px}
.status-filter button,.view-filter button,.text-button,.map-link{font-weight:500}
.status-filter button span,.results-bar p,.updated,.list-heading,.farm-label,.status-badge,.priority-badge,.job-id,.project-number,.project-field,.project-metadata,.detail-dates dt,.detail-dates dd,.attachment small{font-size:13px;line-height:1.5}
.list-heading,.farm-label,.project-number,.priority-badge{font-weight:600}
.project-content p,.detail-description,.detail-section p,.empty-state p,.map-caption,.attachment{font-size:14px;line-height:1.5}
.detail-description,dialog h2{overflow-wrap:anywhere}
.farm-pin{font-family:var(--font-ui);font-size:13px;font-weight:600;line-height:1.5}
.leaflet-container,.leaflet-container a,.leaflet-container button{font-family:var(--font-ui)!important}
.leaflet-container{font-size:14px;line-height:1.5}
.leaflet-popup-content{line-height:1.5}
.leaflet-popup-content strong{font-weight:600}
.leaflet-control-attribution{font-size:13px!important}
@media(max-width:650px){
 h1,.overview strong{font-size:20px}
 dialog h2{font-size:16px}
}
