.app{grid-template-columns:15rem 1fr;min-height:100vh;display:grid}.nav{color:#d8e0d6;background:#17221c;flex-direction:column;gap:.15rem;padding:1.25rem .75rem;display:flex}.nav-brand{letter-spacing:.02em;margin:0 0 1.25rem .6rem;font-weight:700}.nav-group{margin-bottom:.9rem}.nav-group-label{text-transform:uppercase;letter-spacing:.09em;color:#7d9184;margin:0 0 .3rem .6rem;font-size:.68rem}.nav-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:.4rem;padding:.36rem .6rem;font-size:.87rem;display:flex}.nav-item:hover{background:#223026}.nav-item.active{color:#fff;background:#2f4536}.nav-site{text-transform:uppercase;letter-spacing:.06em;color:#dff3e3;background:#3d6b4a;border-radius:3px;padding:.08rem .32rem;font-size:.62rem}.nav-signout{color:#9fb0a3;margin-top:auto}.main{max-width:88rem;padding:2rem 2.5rem 3rem}.screen>h1{margin:.2rem 0 .5rem;font-size:1.65rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:#5d7a66;margin:0;font-size:.7rem;font-weight:600}.footnote{color:#4c5f52;max-width:70ch;margin-top:1.5rem;font-size:.84rem;line-height:1.5}.disclaimer{color:#6d7f73;border-top:1px solid #d7dcd2;margin-top:3rem;padding-top:.8rem;font-size:.76rem}.warnings{gap:.4rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.warning{border-radius:6px;padding:.55rem .8rem;font-size:.9rem}.warning-calm{color:#4c5f52;background:#e6eae1}.warning-live{color:#7a4517;background:#fbeee2;border-left:3px solid #c96a1b}.warning strong{font-size:1.05rem}.panels{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;display:grid}.risk-panel{text-align:left;cursor:pointer;background:#fff;border:1px solid #d7dcd2;border-radius:8px;gap:.2rem;padding:1rem 1.1rem;display:grid}.risk-panel:hover{border-color:#8fa595}.risk-count{font-size:2rem;font-weight:700;line-height:1}.risk-label{font-weight:600}.risk-total{font-variant-numeric:tabular-nums;color:#37483d}.risk-order{color:#6d7f73;font-size:.74rem}.headline-number{color:#eef2ec;background:#17221c;border-radius:8px;margin:0 0 1.4rem;padding:1.1rem 1.3rem;font-size:1.05rem}.headline-number strong{font-variant-numeric:tabular-nums;font-size:1.6rem}.clock{font-variant-numeric:tabular-nums}.clock-breached{color:#a03d0c;font-weight:700}.clock-none{color:#7a6f52;font-size:.86rem;font-style:italic}.derived{font-variant-numeric:tabular-nums;cursor:default;border-bottom:1px dotted #9db0a3}.chip{color:#3d5145;letter-spacing:.02em;background:#e2e8de;border-radius:3px;padding:.1rem .4rem;font-size:.68rem;display:inline-block}.chip-entered{color:#7a5a17;background:#f6e9d2}.chip-derived{color:#2f5a3c;background:#dce9e0}.chip-marked{color:#7d3030;background:#ecdcdc}.unknown{color:#8a6d1f;font-style:italic}.not-recorded{color:#7a6f52;font-size:.88rem;font-style:italic}.hint{color:#6d7f73;font-size:.8rem}.comparison{background:#fff;border:1px solid #d7dcd2;border-radius:8px;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0;padding:1rem 1.2rem;display:grid}.comparison-differs{background:#fdf6ef;border-color:#c96a1b}.comparison-label{text-transform:uppercase;letter-spacing:.07em;color:#6d7f73;font-size:.72rem;display:block}.comparison-value{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:600}.comparison-finding{color:#7a4517;grid-column:1/-1;margin:.3rem 0 0;font-size:.88rem;line-height:1.5}.log{margin:1.6rem 0}.log h3,.screen section>h3{margin:0 0 .5rem;font-size:.95rem}.log-entries{gap:.42rem;margin:0;padding-left:1.1rem;display:grid}.log-entries li{font-size:.89rem;line-height:1.5}.single-verb{border-top:1px solid #d7dcd2;margin-top:2rem;padding-top:1rem}.verb-note{color:#6d7f73;margin:.5rem 0 0;font-size:.8rem}.not-yet{background:#f4f2e8;border-left:3px solid #b8a24a;border-radius:0 5px 5px 0;gap:.15rem;margin:.6rem 0;padding:.6rem .85rem;display:grid}.not-yet-what{font-size:.9rem;font-weight:600}.not-yet-why{color:#5b5432;font-size:.83rem;line-height:1.45}.caution{color:#5c3d1c;background:#fdf6ef;border-left:3px solid #c96a1b;border-radius:0 5px 5px 0;padding:.7rem .95rem;font-size:.9rem;line-height:1.55}.empty{color:#6d7f73}.calm-empty{color:#46584c;background:#e9ede5;border-radius:7px;padding:1.1rem 1.2rem}.flag{color:#a03d0c;white-space:nowrap;font-size:.82rem;font-weight:600}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e0e4dc;padding:.5rem .65rem}th{text-transform:uppercase;letter-spacing:.06em;color:#5d7a66;font-size:.7rem;font-weight:600}tbody tr:hover{cursor:pointer;background:#f4f6f1}.row-flagged{background:#fdf7f1}.row-flagged:hover{background:#fbf0e5}.row-expanded,.row-expanded:hover{cursor:default;background:#f4f6f1}.numeric{text-align:right;font-variant-numeric:tabular-nums}.cell-differs{background:#fbeee2;font-weight:700}.expanded{gap:.8rem;padding:.6rem .2rem;display:grid}.flag-list{gap:.3rem;margin:0;padding-left:1.1rem;font-size:.87rem;display:grid}.facts,.deductions,.payment{gap:.1rem;margin:0 0 1.4rem;display:grid}.facts>div,.deductions>div,.payment>div{border-bottom:1px solid #e8ebe4;grid-template-columns:1fr auto;gap:1rem;padding:.4rem 0;display:grid}.facts dt,.deductions dt,.payment dt{color:#4c5f52;font-size:.88rem}.facts dd,.deductions dd,.payment dd{margin:0;font-weight:500}.deductions .subtotal{border-top:1px solid #b9c4bc;font-weight:600}.deductions .total{border-top:2px solid #17221c;border-bottom:0;font-size:1.05rem;font-weight:700}.provenance-line{color:#4c5f52;margin:0 0 .9rem;font-size:.88rem;line-height:1.5}.checklist{gap:.25rem;margin:0;padding:0;font-size:.89rem;list-style:none;display:grid}.checklist .out{color:#a03d0c;font-weight:600}.form{gap:.9rem;max-width:34rem;display:grid}.form-wide{max-width:46rem}.form fieldset{border:1px solid #d7dcd2;border-radius:7px;gap:.9rem;padding:1rem 1.1rem;display:grid}.form legend{text-transform:uppercase;letter-spacing:.08em;color:#5d7a66;padding:0 .35rem;font-size:.72rem;font-weight:600}.field{gap:.25rem;display:grid}.field-label{font-size:.88rem;font-weight:600}.field-hint{color:#5b6b60;font-size:.79rem;line-height:1.45}.field input,.field select,.field textarea,.set-group textarea{font:inherit;background:#fff;border:1px solid #c3cdc5;border-radius:5px;width:100%;padding:.45rem .6rem}.set-group{gap:.4rem;display:grid}.message{color:#2f5a3c;background:#e3ede5;border-radius:5px;padding:.6rem .85rem}.message.error{color:#7d3030;background:#f7e6e4}.tabs{gap:.4rem;margin-bottom:1rem;display:flex}.tabs button{cursor:pointer;background:#e6eae1;border:0;border-radius:5px;padding:.4rem .9rem;font-size:.87rem}.tabs button.active{color:#fff;background:#17221c}.strip{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.8rem;margin-bottom:1.8rem;display:grid}.strip>div{background:#fff;border:1px solid #d7dcd2;border-radius:7px;padding:.8rem .95rem}.strip-alarm{background:#fdf6ef;border-color:#c96a1b}.strip-label{text-transform:uppercase;letter-spacing:.06em;color:#6d7f73;font-size:.72rem;display:block}.strip-value{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.cross-references{gap:.5rem;margin-top:1.5rem;display:flex}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;display:grid}.shop-card{background:#fff;border:1px solid #d7dcd2;border-radius:8px;padding:1.1rem 1.2rem}.shop-card h3{margin:.2rem 0 .15rem;font-size:1.15rem}.shop-card-blocked{background:#fdf3ee;border:2px solid #a03d0c}.shop-project{text-transform:uppercase;letter-spacing:.06em;color:#6d7f73;margin:0;font-size:.75rem}.shop-sut{color:#5b6b60;margin:0 0 .7rem;font-size:.82rem}.shop-revision{margin:0;font-size:1rem}.shop-revision strong{font-size:1.8rem;line-height:1.1;display:block}.shop-blocked{color:#a03d0c;margin:0;font-weight:700}.shop-blocked span{font-size:.85rem;font-weight:500;display:block}.shop-state{color:#5b6b60;margin:.7rem 0 0;font-size:.8rem}.withheld{background:#f4f7f1;border:1px solid #b7c3ad;border-left:4px solid #4a6b52;border-radius:7px;margin-bottom:1.6rem;padding:1.1rem 1.2rem}.withheld h2{margin:0 0 .5rem;font-size:1.05rem}.withheld-note{color:#40523f;margin:0 0 1rem;font-size:.87rem;line-height:1.5}.withheld form{gap:.9rem;max-width:26rem;display:grid}.field-fixed{color:#40523f;background:#e6ede2;border-radius:5px;margin:0;padding:.5rem .7rem;font-size:.85rem}.consolidate{margin-bottom:1.6rem}.consolidate h2{margin:0 0 .7rem;font-size:1.05rem}.consolidate form{gap:.9rem;max-width:30rem;display:grid}.settled h2{margin:1.4rem 0 .6rem;font-size:1.05rem}.citation{color:#5b6b60;background:#eef1ea;border-radius:3px;padding:.05rem .35rem;font-size:.78rem;font-style:normal}.finding{background:#fdf6ef;border-left:3px solid #c96a1b;margin:0 0 1rem;padding:.7rem .9rem;font-size:.88rem;line-height:1.55}.flags{gap:.5rem;margin:0 0 1.4rem;padding-left:1.1rem;display:grid}.flags li{color:#40523f;font-size:.87rem;line-height:1.5}.flags:empty{display:none}.failure{color:#7d3030;background:#f7e6e4;border-radius:5px;padding:.6rem .85rem}button.link{font:inherit;color:#2f5a3c;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.unpriced{color:#a03d0c;cursor:help;font-size:.83rem;font-weight:600}.row-unpriced{background:#fdf6ef}.row-sub{color:#6d7f73;font-size:.76rem;display:block}.cover{cursor:help;border-radius:3px;padding:.1rem .4rem;font-size:.78rem}.cover-calm{color:#46584c;background:#e9ede5}.cover-finding{color:#a03d0c;background:#fdf0e6;font-weight:600}.exceptions{margin:1.6rem 0}.exceptions h2{margin:0 0 .5rem;font-size:1.05rem}.exception{background:#fdf6ef;border-left:3px solid #c96a1b;margin-bottom:.8rem;padding:.7rem .9rem;font-size:.88rem}.exception p{margin:0 0 .5rem}.exception form{gap:.6rem;max-width:32rem;display:grid}.exception-settled{color:#2f5a3c}.net{margin-top:.8rem;font-size:1.15rem}.net strong{font-variant-numeric:tabular-nums}.record-card{border-top:1px solid #d7dcd2;margin:1.6rem 0 0;padding-top:1.1rem}.record-card h2{margin:0 0 .6rem;font-size:1.02rem}.purchase-order-print{color:#000;background:#fff;padding:2rem}.app:has(.purchase-order-print){display:block}:is(.app:has(.purchase-order-print) .nav,.app:has(.purchase-order-print) .disclaimer){display:none}.app:has(.purchase-order-print) .main{max-width:none;padding:0}.purchase-order-print h1{font-size:2rem}.purchase-order-print table{border-collapse:collapse;width:100%}.purchase-order-print th,.purchase-order-print td{text-align:left;border-bottom:1px solid #888;padding:.5rem}.purchase-order-total{text-align:right;font-weight:700}@media print{body *{visibility:hidden}.purchase-order-print,.purchase-order-print *{visibility:visible}.purchase-order-print{padding:0;position:absolute;inset:0}.purchase-order-print-control{display:none}}.site-project-list{gap:.75rem;margin:1rem 0;padding:0;list-style:none;display:grid}.site-project-list button{text-align:left;gap:.25rem;width:100%;padding:.9rem;display:grid}.site-project-list button span{font-size:.85rem;font-weight:400}.site-summary{background:#f4f7f1;border-left:4px solid #4a6b52;padding:.9rem}.derived-label{color:#5b6b60;font-size:.8rem}.site-photo-grid{gap:1rem;display:grid}.site-photograph{object-fit:contain;background:#eef1ea;width:100%;max-height:24rem;display:block}@media (width>=48rem){.site-project-list,.site-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.controlled-copy-slip{color:#111;background:#fff;border:2px solid #222;max-width:48rem;margin:1rem 0;padding:2rem}.controlled-copy-slip h1{margin-top:0}@media print{body *{visibility:hidden}.controlled-copy-slip,.controlled-copy-slip *{visibility:visible}.controlled-copy-slip{break-inside:avoid;border:0;width:100%;max-width:none;margin:0;padding:0;position:absolute;inset:0}@page{size:A4;margin:18mm}}.keyplan-print{z-index:100;color:#111;background:#fff;padding:2rem;position:fixed;inset:0;overflow:auto}.keyplan-print h1,.keyplan-print h2{margin:0 0 .5rem}.keyplan-print-controls{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.keyplan-print-controls p{margin:0}.keyplan-print-drawing{break-inside:avoid;page-break-inside:avoid;width:100%;position:relative}.keyplan-print-drawing img{width:100%;height:auto;display:block}.keyplan-print-pin{color:#111;background:#fff;border:2px solid #111;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.75rem;font-weight:700;display:grid;position:absolute;transform:translate(-50%,-50%)}.keyplan-print-pin.needs-replacement{border-width:3px;border-radius:0;transform:translate(-50%,-50%)rotate(45deg)}.keyplan-print table{border-collapse:collapse;width:100%}.keyplan-print th,.keyplan-print td{text-align:left;border-bottom:1px solid #888;padding:.35rem}@media print{.keyplan-print,.keyplan-print *{visibility:visible}.keyplan-print{padding:0;position:absolute;inset:0;overflow:visible}.keyplan-print-controls{display:none}}:root{color:#17221c;font-synthesis:none;text-rendering:optimizelegibility;background:#f0f1e9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}.shell{place-items:center;min-height:100vh;padding:2rem;display:grid}.panel{background:#fffffaeb;border:1px solid #c8cdbd;border-radius:1.5rem;width:min(100%,44rem);padding:clamp(1.5rem,5vw,4rem);box-shadow:0 1.5rem 4rem #2d39301f}.eyebrow{color:#496351;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:700}h1{letter-spacing:-.04em;max-width:16ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.2rem,8vw,4.7rem);font-weight:500;line-height:.98}.lede{color:#55645a;max-width:55ch;margin:1.5rem 0 2rem;line-height:1.65}.stack{gap:1rem;margin-top:2rem;display:grid}label{color:#33453a;gap:.4rem;font-size:.9rem;font-weight:650;display:grid}input{color:#17221c;background:#fff;border:1px solid #aab3a6;border-radius:.7rem;width:100%;padding:.85rem 1rem}input:focus{border-color:#2d6947;outline:3px solid #2d694729}button{color:#fff;cursor:pointer;background:#214f37;border:1px solid #214f37;border-radius:999px;padding:.85rem 1.2rem;font-weight:700}button:disabled{cursor:wait;opacity:.6}button.secondary{color:#214f37;background:0 0}.actions{flex-wrap:wrap;gap:.75rem;display:flex}.message{background:#fff6dc;border-left:3px solid #b8781f;margin-top:1.5rem;padding:.9rem 1rem;line-height:1.5}.context{background:#edf4ee;border-radius:.8rem;gap:.7rem;margin-top:1.5rem;padding:1rem;display:grid}.context div{grid-template-columns:7rem 1fr;gap:1rem;display:grid}dt{color:#526458;font-weight:700}dd{overflow-wrap:anywhere;margin:0}code{background:#e8ebdf;border-radius:.25rem;padding:.1rem .3rem}
