:root{color:#18221d;--muted:#53635a;--line:#dce3da;--green:#173d30;--accent:#e4b347;background:#f5f6f2;font-family:Inter,system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0}header{color:#fff;background:#000;border-bottom:3px solid #ffc600}.shell{max-width:1250px;margin:auto;padding:0 34px}.bar,.brand,.identity,.intro,.projectbar,.project-actions,.section-head,.order-top,.row,.form-actions{align-items:center;gap:14px;display:flex}.bar,.intro,.projectbar,.section-head,.order-top{justify-content:space-between}.bar{min-height:75px}.logo,.empty-icon{background:var(--accent);color:#203327;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.brand strong{letter-spacing:.09em;font-size:.83rem}.brand small{color:#cbd7cc;letter-spacing:.14em;margin-top:4px;font-size:.65rem;display:block}.identity{color:#cbd7cc;font-size:.8rem}.identity a{color:#fff;align-items:center;gap:4px;text-decoration:none;display:flex}.intro{padding:44px 0 26px}.eyebrow,.metric>span,.projectbar label{letter-spacing:.11em;color:#446257;align-items:center;gap:7px;font-size:.71rem;font-weight:800;display:flex}h1{letter-spacing:-.06em;margin:7px 0 5px;font-size:clamp(2.35rem,5vw,3.7rem);line-height:1.05}h2{letter-spacing:-.025em;margin:0;font-size:1.16rem}h3{margin:8px 0;font-size:1.02rem}p{color:var(--muted);margin:6px 0;line-height:1.5}button,select,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}:is(button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible){outline-offset:2px;outline:3px solid #a87219}.primary,.secondary{border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:9px 13px;font-size:.86rem;font-weight:750;display:inline-flex}.primary{border:1px solid var(--green);background:var(--green);color:#fff}.primary:hover{background:#265642}.secondary{color:#23382d;background:#fff;border:1px solid #cbd6cc}.secondary:hover{background:#edf2eb}.card{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 2px 5px #152b2306}.projectbar{margin-bottom:16px;padding:15px 18px}.projectbar select{border:1px solid var(--line);color:#18221d;background:#fff;border-radius:6px;max-width:100%;margin-top:6px;padding:5px 6px;font-weight:700}.role,.pill{color:#244d39;white-space:nowrap;background:#eaf1e9;border-radius:100px;padding:5px 10px;font-size:.73rem;font-weight:750}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.metric{padding:17px 19px}.metric strong{letter-spacing:-.045em;overflow-wrap:anywhere;margin:7px 0 3px;font-size:clamp(1.35rem,3.2vw,2.05rem);display:block}.metric small{color:var(--muted)}.total{background:var(--green);color:#fff;border-color:var(--green)}.total small,.total>span{color:#d8e6d8}.columns{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:start;gap:16px;margin:20px 0 44px;display:grid}.section-head,.breakdown{padding:19px}.section-head p,.breakdown p{font-size:.83rem}.tabs{flex-wrap:wrap;gap:4px;padding:0 14px 12px;display:flex}.tabs button{color:#496052;background:#fff;border:1px solid #0000;border-radius:6px;padding:6px 9px;font-size:.8rem}.tabs .active{color:#173d30;background:#e8efe7;border-color:#d8e5d7;font-weight:750}.order{border-top:1px solid var(--line);padding:17px 19px}.scope{white-space:pre-wrap;overflow-wrap:anywhere}.order h3,dd,dt{overflow-wrap:anywhere}.order button{margin-top:9px}.pill.submitted{color:#664900;background:#fff2cc}.pill.priced{color:#264888;background:#e8efff}.pill.declined{color:#852c36;background:#fcebec}.quote{background:#f5f7f4;border-radius:8px;margin:9px 0 0;padding:10px 12px}.quote span{color:var(--muted);margin-left:10px;font-size:.77rem}.breakdown dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 0;font-size:.88rem;display:flex}.breakdown dd{text-align:right;margin:0;font-weight:750}.breakdown .subtotal,.breakdown .revised{font-weight:750}.breakdown .revised{color:#173d30}.empty{text-align:center;padding:55px 20px}.empty-icon{background:#eaf1e8;margin:0 auto 15px}.empty p{max-width:470px;margin:8px auto 16px}.compact{border-top:1px solid var(--line);color:#53635a;padding:32px 15px}.alert,.notice{color:#822e28;background:#fff2ef;border:1px solid #edc4bf;border-radius:8px;margin-bottom:13px;padding:10px}.notice{color:#264d34;background:#edf6ee;border-color:#c8ddca}dialog{border:1px solid var(--line);width:min(460px,100% - 28px);color:inherit;border-radius:14px;padding:22px}dialog::backdrop{background:#10241dc0}form label{gap:5px;margin-top:13px;font-size:.85rem;font-weight:700;display:grid}input,textarea{width:100%;color:inherit;border:1px solid #b9c8bd;border-radius:7px;padding:8px}textarea{resize:vertical}.hint{font-size:.8rem}.form-actions{justify-content:flex-end;margin-top:18px}.login-shell{place-items:center;min-height:100vh;padding-block:24px;display:grid}.login-card{width:min(100%,430px);padding:28px}.login-card h1{margin:19px 0 8px;font-size:2.1rem}.login-card form>.primary{width:100%;margin:17px 0 6px}.text-link{color:var(--green);margin-top:12px;font-size:.86rem;font-weight:700;display:inline-block}.settings-columns{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.link-row{gap:7px;margin-top:10px}.link-row input{min-width:0}.accounts-title{margin-top:22px}.accounts{padding:0;list-style:none}.accounts li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:.85rem;display:flex}.accounts span{overflow-wrap:anywhere}.accounts button{flex-shrink:0}.project-details{overflow-wrap:anywhere;font-size:.83rem}.project-details:empty{display:none}.project-actions{flex-wrap:wrap;justify-content:flex-end}.danger{color:#852c36}.danger-solid{background:#852c36;border-color:#852c36}.danger-solid:hover{background:#69212a}.payments{margin:0 0 44px}.payments .section-head{align-items:flex-start}.payment-summary{gap:30px;margin:0;padding:0 19px 16px;display:flex}.payment-summary dt{color:var(--muted);font-size:.83rem}.payment-summary dd{color:var(--green);margin:4px 0 0;font-size:1.4rem;font-weight:800}.payment-table{overflow-x:auto}.payment-table table{border-collapse:collapse;text-align:left;width:100%;font-size:.88rem}.payment-table th,.payment-table td{border-top:1px solid var(--line);padding:10px 19px}.payment-table th{color:#405449;background:#f5f7f4}.payment-table td:nth-child(-n+3){white-space:nowrap}.payment-amount{font-weight:750}.receipt-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.receipt-actions a{text-decoration:none}.receipt-actions .secondary{white-space:nowrap;min-height:32px;padding:5px 9px}form select{color:inherit;background:#fff;border:1px solid #b9c8bd;border-radius:7px;padding:8px}.mobile-label{display:none}.projectbar>div:first-child{min-width:0}.logo{flex:0 0 42px}@media (max-width:760px){.shell{padding-inline:16px}.bar{flex-wrap:wrap;gap:4px 12px;min-height:66px;padding-block:8px}.brand{gap:9px}.identity{flex-wrap:wrap;gap:4px 12px}.identity>span{display:none}.identity a,.text-link{align-items:center;min-height:44px;display:inline-flex}.intro{flex-wrap:wrap;align-items:flex-start;gap:8px;padding-block:24px 18px}.intro h1{font-size:clamp(2rem,8vw,3rem)}.projectbar{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.projectbar select{width:100%;min-height:44px}.project-actions{justify-content:flex-start;gap:8px}.project-actions .role{width:fit-content}.project-actions .secondary{flex:auto}.primary,.secondary,.tabs button,.receipt-actions .secondary{min-height:44px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:12px}.metric>span{letter-spacing:.035em}.metric.total{grid-column:1/-1}.metric.total strong{font-size:1.75rem}.columns{grid-template-columns:minmax(0,1fr);gap:12px;margin-block:12px 16px}.section-head,.breakdown,.order{padding:14px}.section-head{flex-wrap:wrap;align-items:flex-start;gap:8px}.tabs{padding-inline:10px}.order-top{flex-wrap:wrap;gap:6px}.order .row>button{flex:1}.quote span{margin:4px 0 0;display:block}.payment-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px 14px;display:grid}.payment-table{overflow:visible}.payment-table table,.payment-table tbody{display:block}.payment-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.payment-table tbody tr{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.payment-table tbody td{white-space:normal;overflow-wrap:anywhere;border:0;padding:0}.payment-table .payment-receipt{grid-column:1/-1}.mobile-label{color:var(--muted);margin-bottom:3px;font-size:.76rem;font-weight:700;display:block}.receipt-actions{gap:8px}.receipt-actions .secondary{padding-inline:12px}.accounts li,.link-row{flex-wrap:wrap}.login-card{padding:20px}dialog{overscroll-behavior:contain;width:min(460px,100% - 24px);max-height:calc(100dvh - 24px);padding:16px;overflow-y:auto}form input,form select,form textarea,.projectbar select{font-size:16px}form input,form select{min-height:44px}form label>:is(input,select,textarea){min-width:0;max-width:100%}.form-actions{flex-wrap:wrap;gap:8px}.form-actions>button{flex:auto}}.project-pickers{flex-wrap:wrap;gap:10px 16px;display:flex}.project-pickers>div{min-width:0;max-width:100%}.project-paid{color:#18221d;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:10px 0;font-weight:700;display:flex}.paid-label{color:#17643b;align-items:center;gap:4px;font-size:.83rem;display:inline-flex}.password-field{flex-wrap:wrap;align-items:stretch;gap:6px;margin-top:5px;display:flex}.password-field input{flex:140px;min-width:0}.password-field button{flex:none}.payment-summary .payment-balance dt,.payment-summary .payment-balance dd{color:#92400e}.sub-section{margin-bottom:20px}.sub-padding{overflow-wrap:anywhere;padding:0 19px 16px}.sub-summary{margin-bottom:20px;padding-top:16px}.sub-section select{width:100%;min-width:0}.sub-section h3,.sub-section p{overflow-wrap:anywhere}.sub-balance{padding:10px 0 0}.sub-combined{padding:0 19px 14px}.sub-combined .payment-summary{flex-direction:column;gap:12px;display:flex}.company-actions{flex-wrap:wrap;gap:6px;display:flex}.accounts .company-actions button{margin:0}.accounts li>div:first-child{overflow-wrap:anywhere;min-width:0}.portal-brand{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;display:flex}.portal-brand img{aspect-ratio:2.42;object-fit:cover;object-position:center 45%;border-radius:6px;width:clamp(122px,23vw,184px);height:auto;display:block}.portal-brand small{color:#e8e5df;letter-spacing:.06em;font-weight:700}.sub-payment-history{margin-top:10px}.sub-payment-history summary{cursor:pointer;color:#235a43;min-height:44px;padding-block:11px;font-weight:700}.sub-payment-history ul{margin:0;padding:0;list-style:none}.sub-payment-history li{border-top:1px solid #deded7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.sub-payment-history li>div{overflow-wrap:anywhere;min-width:0}.sub-payment-history a{text-decoration:none}.sub-history-assignment{padding:10px 0 0}.sub-history-assignment h4{overflow-wrap:anywhere;margin:0}.sub-history-project h3{margin-bottom:12px}.login-links{justify-items:start;display:grid}.login-links .text-link+.text-link{margin-top:2px}.portal-brand{width:fit-content;text-decoration:none}.payment-summary .approved-sub-changes dt,.payment-summary .approved-sub-changes dd{color:#1754a5}.assigned-client-field{align-items:flex-end;gap:8px}.assigned-client-field label{flex:1;min-width:0}.project-details{overflow-wrap:anywhere}.project-assignment{border-top:1px solid var(--line)}.project-assignment summary{cursor:pointer;overflow-wrap:anywhere;min-height:44px;padding:12px 19px;font-weight:750}.project-assignment-count{color:var(--muted);margin-inline-start:10px;font-size:.83rem;font-weight:600;display:inline-block}.order-photo-input{border:1px solid var(--line);border-radius:8px;min-width:0;padding:10px}.order-photo-input legend{font-weight:750}.order-photo-input p{margin:0 0 8px}.order-photo-input .alert{margin:10px 0 0}.order-photo-input ul{padding:0;list-style:none}.order-photo-input li{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.order-photo-input video{background:#18221d;width:100%;max-height:280px;margin-bottom:10px;display:block}.order-photos{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.order-photos a{border:1px solid var(--line);color:#235a43;overflow-wrap:anywhere;border-radius:8px;align-content:start;gap:5px;width:112px;padding:6px;font-size:.8rem;display:grid}.order-photos img{object-fit:cover;border-radius:4px;width:100%;height:76px}
