:root{--ink:#17231d;--muted:#66716b;--line:#dfe7e2;--panel:#fff;--soft:#f4f8f5;--green:#176b45;--green-dark:#105137;--danger:#9c302d}*{box-sizing:border-box}html,body{background:var(--soft);min-height:100%;color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,.button{background:var(--green);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:11px 16px;font-weight:700;display:inline-flex}button:hover,.button:hover{background:var(--green-dark)}button.secondary,.button.secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.text-button{color:var(--green);background:0 0;padding:0;font-weight:700}.text-button:hover{background:0 0;text-decoration:underline}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#eaf5ee;background:#10261c;flex-direction:column;gap:28px;padding:24px 18px;display:flex}.brand{align-items:center;gap:10px;font-size:21px;font-weight:800;display:flex}.brand-mark{color:#0c3824;background:#70c990;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:inline-grid}.sidebar nav{gap:6px;display:grid}.sidebar nav a{border-radius:8px;padding:11px 12px}.sidebar nav a:hover{background:#1d3c2d}.sidebar-footer{border-top:1px solid #315040;gap:12px;margin-top:auto;padding-top:16px;display:grid}.sidebar-footer a{gap:3px;display:grid}.sidebar-footer span{color:#abc2b4;font-size:12px}.sidebar-footer .text-button{color:#dbeae0}.content{min-width:0;padding:34px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-header h1{margin:0;font-size:30px}.page-header p{color:var(--muted);margin:7px 0 0}.card,.form-card,.table-wrap,.empty-state,.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:0 2px 8px #14281e0a}.empty-state{text-align:center;padding:48px}.empty-state h2{margin-top:0}.empty-state p{color:var(--muted);max-width:580px;margin:0 auto;line-height:1.5}.search{gap:8px;max-width:620px;margin:0 0 18px;display:flex}.search input{flex:1}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 16px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#f9fbfa;font-size:12px}tr:last-child td{border-bottom:0}.actions{align-items:center;gap:14px;display:flex}.actions a{color:var(--green);font-weight:700}.status-pill{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.status-pill.active{color:#176b45;background:#e3f5ea}.status-pill.inactive{color:#68716c;background:#ecefed}.empty-row{text-align:center;color:var(--muted);padding:30px}.form-card{max-width:850px;padding:24px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid .wide{grid-column:1/-1}label{gap:7px;font-size:14px;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #cbd6cf;border-radius:8px;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--green);outline:2px solid #8ac9a4}label.check{grid-template-columns:auto 1fr;align-items:center;gap:9px;display:flex}label.check input{width:auto}.form-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.message{border-radius:8px;margin-bottom:18px;padding:12px 14px}.message.error{color:var(--danger);background:#fbe9e8}.details{gap:18px;max-width:700px;padding:22px;display:grid}.details>div{gap:6px;display:grid}.details span{color:var(--muted);font-size:13px}.role-list{flex-wrap:wrap;gap:8px;display:flex}.role-list span{color:var(--ink);background:#edf4ef;border-radius:7px;padding:7px 10px}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{width:min(430px,100%);padding:34px}.auth-card h1{margin:16px 0 8px}.auth-card p{line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:12px;font-weight:800}.muted{color:var(--muted)}.stack{gap:16px;margin-top:24px;display:grid}@media (max-width:760px){.app-shell{display:block}.sidebar{padding:16px;position:static}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-footer{margin-top:8px}.content{padding:22px 16px}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.page-header{flex-direction:column;align-items:stretch}.search{flex-direction:column}}
.message.success{color:var(--green-dark);background:#e3f5ea}.heading-with-help{align-items:center;gap:8px;display:flex!important}.info-tooltip{align-items:center;display:inline-flex;position:relative}.info-tooltip-trigger{color:var(--green-dark);background:#edf6f1;border:1px solid #b9d8c8;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{background:var(--green);border-color:var(--green);color:#fff;outline:none}.info-tooltip-content{color:#fff;opacity:0;pointer-events:none;visibility:hidden;z-index:20;background:#173c2b;border-radius:9px;width:min(320px,100vw - 48px);padding:10px 12px;font-size:13px;font-weight:500;line-height:1.45;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-3px)}.info-tooltip:hover .info-tooltip-content,.info-tooltip:focus-within .info-tooltip-content{opacity:1;visibility:visible;transform:translateY(0)}.record-link{color:var(--green);font-weight:800}.project-status{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.project-status.draft{color:#57625c;background:#eef0ef}.project-status.in_progress{color:var(--green);background:#e3f5ea}.project-status.on_hold{color:#835c00;background:#fff1cf}.project-status.completed{color:#155b89;background:#dceefc}.project-status.cancelled{color:var(--danger);background:#f7e6e5}.project-form{max-width:920px}.project-form section+section{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.project-form h2{margin:0 0 16px;font-size:18px}.project-form input[readonly]{color:#435149;cursor:not-allowed;background:#f1f4f2}.deposit-status{border:1px solid var(--line);background:#f7faf8;border-radius:10px;align-content:center;gap:6px;padding:12px;display:grid}.deposit-status span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.field-link{align-items:flex-end;padding-bottom:12px;display:flex}.field-link a{color:var(--green);font-weight:700}.form-note{color:var(--muted);margin:22px 0 0}.project-header-actions{align-items:center;gap:10px;display:flex}.project-hero{grid-template-columns:repeat(2,minmax(130px,1fr));gap:20px;margin-bottom:20px;padding:20px;display:grid}.project-hero>div,.project-context>div,.visit-summary>div{gap:7px;display:grid}.project-hero>div>span,.project-context>div>span,.visit-summary>div>span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.section-heading h2{margin:0}.section-heading p{color:var(--muted);margin:6px 0 0}.readiness-card{margin-top:20px;padding:22px}.readiness-summary{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.readiness-summary.ready{color:var(--green);background:#e3f5ea}.readiness-summary.missing{color:#835c00;background:#fff1cf}.readiness-list{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;display:grid}.readiness-list>div{border:1px solid var(--line);border-radius:10px;gap:5px;padding:14px;display:grid}.readiness-list>div>span{font-size:20px}.readiness-list .ready>span{color:var(--green)}.readiness-list .missing>span{color:#a07513}.readiness-list small{color:var(--muted)}.readiness-action{justify-content:flex-end;margin-top:20px;display:flex}.milestone-journey{margin:20px 0;padding:24px 8px 12px;overflow-x:auto}.milestone-journey ol{min-width:760px;margin:0;padding:0;list-style:none;display:flex}.milestone-journey li{text-align:center;color:#9aa19d;flex:1;min-width:115px;position:relative}.milestone-journey .journey-line{align-items:center;height:32px;display:flex}.milestone-journey .journey-line:before,.milestone-journey .journey-line:after{content:"";background:#dce1de;flex:1;height:3px}.milestone-journey li:first-child .journey-line:before,.milestone-journey li:last-child .journey-line:after{background:0 0}.journey-marker{background:#fff;border:2px solid #c9cfcb;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.milestone-journey strong{padding:4px 8px;font-size:13px;line-height:1.25;display:block}.milestone-journey small{text-transform:uppercase;letter-spacing:.06em;font-size:11px;display:block}.milestone-journey li.approved{color:var(--green)}.milestone-journey li.approved .journey-marker{background:var(--green);border-color:var(--green);color:#fff}.milestone-journey li.approved .journey-line:before,.milestone-journey li.approved .journey-line:after{background:var(--green)}.milestone-journey li.current{color:#153c2a}.milestone-journey li.current .journey-marker{color:#fff;background:#153c2a;border-color:#153c2a;box-shadow:0 0 0 5px #dcebe3}.milestone-journey li.current small{font-weight:900}.project-context{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:20px;margin-bottom:20px;padding:18px 20px;display:grid}.project-context>.project-hold-reason{grid-column:1/-1}.project-completion-control{gap:7px;display:grid}.project-completion-heading{align-items:center;gap:7px;display:flex}.project-completion-control form{align-items:center;min-height:28px;display:flex}.project-completion-control input[type=checkbox]{accent-color:var(--green);cursor:pointer;width:22px;height:22px;margin:0}.project-completion-control input[type=checkbox]:disabled{cursor:not-allowed}.current-work{margin-top:20px;padding:22px}.current-work h2{font-size:20px}.visit-form{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.visit-form .wide{grid-column:1/-1}.visit-summary{border-bottom:1px solid var(--line);grid-template-columns:2fr 1fr;gap:18px;padding:16px 0;display:grid}.verification-action{padding-top:20px}.verification-action h3,.verification-result h3{margin:0 0 8px}.verification-status{font-weight:800}.generated-link{gap:10px;margin-top:12px;display:grid}.generated-link label{gap:6px;display:grid}.sent-form{align-items:flex-end;gap:12px;margin-top:16px;display:flex}.sent-form label{gap:6px;display:grid}.verification-result{border-radius:12px;margin-top:18px;padding:18px}.verification-result.confirmed{color:var(--green-dark);background:#e3f5ea}.verification-result.issue{color:#6d4d00;background:#fff1cf}.verification-result.no-response{background:#eef0ef}.public-shell{background:#f3f7f4;place-items:center;min-height:100vh;padding:20px;display:grid}.public-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,560px);padding:28px;box-shadow:0 18px 50px #18322414}.public-brand{color:var(--green);margin-bottom:24px;font-size:20px;font-weight:900}.public-card h1{margin:0 0 12px;font-size:28px}.public-summary{gap:12px;margin:24px 0;display:grid}.public-summary div{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:12px;padding-bottom:10px;display:grid}.public-summary dt{color:var(--muted)}.public-summary dd{margin:0;font-weight:700}.public-note{color:var(--muted);line-height:1.55}.public-actions{margin:24px 0}.public-actions button{width:100%}.public-issue-form{border-top:1px solid var(--line);gap:14px;padding-top:20px;display:grid}.public-issue-form label{gap:8px;font-weight:700;display:grid}.danger-button{background:#8f2e2e}.danger-button:hover{background:#702222}.claim-form,.review-form{grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;display:grid}.claim-form .wide,.review-form .wide{grid-column:1/-1}.claim-form small,.review-form small{color:var(--muted);font-weight:400}.claim-summary{grid-template-columns:repeat(3,1fr);gap:18px;padding:16px 0;display:grid}.claim-summary>div{gap:7px;display:grid}.claim-summary span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.claim-progress-summary{border-top:1px solid var(--line);padding-top:16px;line-height:1.55}.technical-review,.financial-review,.review-result{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.technical-review h3,.financial-review h3,.review-result h3{margin:0 0 8px}.review-result.approved{color:var(--green-dark);background:#e3f5ea;border:0;border-radius:12px;padding:18px}.review-result.approved p{margin-bottom:0;font-weight:700}.review-result.returned{background:#fff7e2;border:0;border-radius:12px;padding:18px}.claim-history-note{color:#78302d;background:#f7eeee;border-radius:10px;padding:14px}.progress-claim-heading{color:var(--green-dark);cursor:pointer;align-items:center;gap:10px;font-size:20px;font-weight:800;list-style:none;display:flex}.progress-claim-heading::-webkit-details-marker{display:none}.progress-claim-heading:before{content:"▶";font-size:13px}.progress-claim-workspace[open]>.progress-claim-heading:before{content:"▼"}.progress-claim-content{padding-top:18px}@media (max-width:1000px){.readiness-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.project-hero,.readiness-list,.project-context,.visit-form,.visit-summary,.claim-form,.review-form,.claim-summary{grid-template-columns:1fr}.claim-form .wide,.review-form .wide{grid-column:auto}.project-header-actions{flex-direction:column;align-items:flex-end}.sent-form{flex-direction:column;align-items:stretch}.public-card{padding:22px}.public-summary div{grid-template-columns:1fr;gap:4px}}button:disabled{cursor:wait;opacity:.72}.loading-inline{align-items:center;gap:9px;display:inline-flex}.loading-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.75s linear infinite suriax-spin;display:inline-block}.route-loading{min-height:150px;color:var(--green-dark);align-items:center;gap:15px;padding:28px;display:flex}.route-loading .loading-spinner{border-width:3px;width:24px;height:24px}.route-loading strong{font-size:18px}.route-loading p{color:var(--muted);margin:5px 0 0}@keyframes suriax-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner{animation-duration:1.8s}}.payment-workspace{gap:20px;display:grid}.payment-workspace-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.payment-workspace-heading h2{margin-bottom:4px}.manual-mode-label,.payment-balance{color:#176f49;white-space:nowrap;background:#edf6f1;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.payment-claim{border-top:1px solid var(--line);padding-top:16px}.payment-claim-heading{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;list-style:none;display:grid}.payment-claim-heading::-webkit-details-marker{display:none}.payment-claim-heading:before{color:var(--green-dark);content:"▶";font-size:13px}.payment-claim[open]>.payment-claim-heading:before{content:"▼"}.payment-claim-heading>div,.payment-item-summary>div,.payment-summary>div{gap:5px;display:grid}.payment-claim-heading span:first-child,.payment-summary span,.payment-item-summary span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.payment-claim-content{gap:16px;padding-top:18px;display:grid}.payment-summary,.payment-item-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.payment-form{grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto;align-items:end;gap:16px;display:grid}.record-payment-form{grid-template-columns:minmax(190px,1fr) auto}.payment-list{gap:14px;display:grid}.payment-item{border:1px solid var(--line);background:#f8faf9;border-radius:12px;gap:16px;padding:16px;display:grid}.payment-reconcile-form{justify-content:flex-end;display:flex}@media (max-width:850px){.payment-summary,.payment-item-summary,.payment-form,.record-payment-form{grid-template-columns:1fr}.payment-workspace-heading{flex-direction:column;align-items:flex-start}.payment-claim-heading{grid-template-columns:auto minmax(0,1fr);align-items:flex-start}.payment-claim-heading .payment-balance{grid-column:2;justify-self:start}}.project-hold-reason{color:#a32f2f;border-bottom:1px solid #efc9c7;grid-column:1/-1;margin:0;padding:0 0 12px}.project-hold-control,.project-hold-toggle-form{margin-top:3px}.project-hold-checkbox{align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.project-hold-checkbox input{accent-color:#a87500;width:auto;margin:0}.project-hold-form{background:#fff8e6;border:1px solid #ead9aa;border-radius:10px;gap:10px;margin-top:8px;padding:12px;display:grid}.project-hold-form>label{gap:6px;font-size:13px;font-weight:700;display:grid}.project-hold-form textarea{min-height:66px}.project-hold-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.project-hold-form-actions button{padding:9px 12px}.payment-paused-note{color:#704f00;background:#fff8e6;border-radius:10px;padding:13px 15px;font-weight:700}.issue-workspace{gap:18px;margin:20px 0;padding:22px;display:grid}.issue-workspace.blocking{border-color:#e2be79}.issue-heading,.issue-item-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.issue-heading h2{margin:0 0 5px;font-size:20px}.issue-heading p{margin:0}.issue-block-label,.issue-open-label,.issue-clear-label{white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.issue-block-label{color:#7b5100;background:#fff0d2}.issue-open-label{color:#56615b;background:#eef0ef}.issue-clear-label{color:var(--green-dark);background:#e3f5ea}.issue-block-message{color:#704f00;background:#fff8e6;border-radius:10px;margin:0;padding:13px 15px;font-weight:700}.issue-list{gap:14px;display:grid}.issue-item{border:1px solid var(--line);border-radius:12px;padding:17px}.issue-item.open{background:#fffdfa}.issue-item.resolved{background:#f7faf8}.issue-item-heading>div{gap:5px;display:grid}.issue-item-heading>div>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.issue-item>p{line-height:1.5}.issue-item>small{color:var(--muted)}.issue-resolution-form{border-top:1px solid var(--line);gap:13px;margin-top:16px;padding-top:16px;display:grid}.issue-resolution-form label,.issue-create-form label{gap:7px;font-weight:700;display:grid}.issue-create-control,.resolved-issue-history{border-top:1px solid var(--line);padding-top:16px}.issue-create-control summary,.resolved-issue-history summary{color:var(--green-dark);cursor:pointer;font-weight:800}.issue-create-form{grid-template-columns:1fr 2fr;gap:14px;margin-top:16px;display:grid}.issue-payment-check{align-items:center!important;gap:9px!important;display:flex!important}.issue-payment-check input{width:auto}.resolved-issue-history .issue-list{margin-top:14px}@media (max-width:760px){.issue-heading,.issue-item-heading{flex-direction:column;align-items:flex-start}.issue-create-form{grid-template-columns:1fr}.issue-create-form .wide{grid-column:auto}}.external-applications{gap:18px;margin:20px 0;padding:22px;display:grid}.external-heading,.external-application-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.external-heading h2{margin:0 0 5px;font-size:20px}.external-heading p{margin:0}.external-paused-note{color:#704f00;background:#fff8e6;border-radius:10px;margin:0;padding:13px 15px;font-weight:700}.external-application-list{gap:18px;display:grid}.external-application{border:1px solid var(--line);border-radius:12px;padding:18px}.external-application h3{margin:0}.external-status{border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.external-status.untracked,.external-status.not_submitted{color:#56615b;background:#eef0ef}.external-status.submitted,.external-status.pending{color:#835c00;background:#fff1cf}.external-status.approved{color:var(--green-dark);background:#e3f5ea}.external-status.rejected{color:var(--danger);background:#f7e6e5}.external-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;display:grid}.external-summary>div{gap:5px;display:grid}.external-summary span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.external-notes{border-top:1px solid var(--line);margin:16px 0 0;padding-top:14px;line-height:1.5}.external-update-control{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.external-update-control summary{color:var(--green-dark);cursor:pointer;font-weight:800}.external-application-form{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px;display:grid}.external-application-form label{gap:7px;font-weight:700;display:grid}.external-application-form .wide{grid-column:1/-1}.external-untracked-note{margin:16px 0}.external-start-form{margin-bottom:6px}.acknowledgement-timing{border-radius:10px;gap:9px;margin-top:16px;padding:14px;display:grid}.acknowledgement-timing.pending{color:#704f00;background:#fff8e6}.acknowledgement-timing.satisfied{color:var(--green-dark);background:#e3f5ea}.acknowledgement-timing.overdue{color:var(--danger);background:#f7e6e5}.acknowledgement-timing>div:first-child{gap:4px;display:grid}.acknowledgement-timing>div:first-child span{letter-spacing:.04em;text-transform:uppercase;font-size:12px}.acknowledgement-timing p{margin:0;font-weight:700}.acknowledgement-overdue{border-top:1px solid;gap:5px;padding-top:10px;display:grid}.acknowledgement-overdue span{font-size:14px}@media (max-width:760px){.external-heading,.external-application-heading{flex-direction:column;align-items:flex-start}.external-summary,.external-application-form{grid-template-columns:1fr}.external-application-form .wide{grid-column:auto}.external-create-actions{flex-direction:column;align-items:stretch}.external-create-actions button{width:100%}}.planning-target-progress{gap:18px;display:grid}.planning-target-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.planning-target-heading h2{margin:0;font-size:20px}.planning-target-label{color:var(--green-dark);white-space:nowrap;background:#edf6f1;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.planning-target-timing{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.planning-target-timing>div{gap:6px;display:grid}.planning-target-timing span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.planning-target-status{border-radius:10px;margin:0;padding:13px 15px;font-weight:700}.planning-target-status.remaining{color:var(--green-dark);background:#e3f5ea}.planning-target-status.today{color:#704f00;background:#fff8e6}.planning-target-status.overdue{color:var(--danger);background:#f7e6e5}@media (max-width:760px){.planning-target-heading{flex-direction:column;align-items:flex-start}.planning-target-timing{grid-template-columns:1fr}}.installation-evidence{gap:18px;display:grid}.installation-evidence-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.installation-evidence-heading h2{margin:0;font-size:20px}.evidence-ready,.evidence-incomplete{white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.evidence-ready{color:var(--green-dark);background:#e3f5ea}.evidence-incomplete{color:#835c00;background:#fff1cf}.installation-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.installation-evidence-state{border:1px solid var(--line);border-radius:12px;padding:17px}.installation-evidence-summary{gap:7px;display:grid}.installation-evidence-state span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.installation-evidence-state.uploaded{background:#f7faf8}.installation-evidence-state.missing{background:#fffdfa}.installation-photo-links{gap:7px;margin:7px 0 0;padding-left:22px;display:grid}.installation-photo-links a{color:var(--green-dark);font-weight:800}.installation-evidence-state .muted{margin:4px 0 0}.evidence-maximum{color:var(--muted);background:#eef0ef;border-radius:10px;margin:0;padding:12px 14px;font-weight:700}.installation-evidence-form{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:14px;padding-top:16px;display:grid}.installation-evidence-form label{gap:7px;font-weight:700;display:grid}.installation-evidence-form input[type=file]{background:#fff}.installation-evidence-form small{color:var(--muted);font-weight:500}.installation-evidence-error{color:var(--danger);font-size:13px;font-weight:700}.public-title-translation{color:var(--muted);font-size:.72em}.public-actions button small,.public-issue-form button small{font-size:.78em}@media (max-width:760px){.installation-evidence-heading{flex-direction:column;align-items:flex-start}.installation-evidence-grid,.installation-evidence-form{grid-template-columns:1fr}.installation-evidence-form button{width:100%}}.operational-evidence{gap:16px;display:grid}.operational-evidence.embedded{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.operational-evidence.embedded .operational-evidence-heading h2{font-size:17px}.operational-evidence-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.operational-evidence-heading h2{margin:0;font-size:20px}.operational-evidence-state{border:1px solid var(--line);border-radius:12px;padding:17px}.operational-evidence-state.uploaded{background:#f7faf8}.operational-evidence-state.missing{background:#fffdfa}.operational-evidence-state .muted{margin:7px 0 0}.operational-evidence-links{gap:9px;margin:10px 0 0;padding-left:22px;display:grid}.operational-evidence-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.operational-evidence-item a{color:var(--green-dark);font-weight:800}.operational-evidence-item form{margin:0}.evidence-remove{color:var(--danger);font-size:13px}.operational-evidence-form{border-top:1px solid var(--line);grid-template-columns:1fr auto;align-items:end;gap:14px;padding-top:16px;display:grid}.operational-evidence-form label{gap:7px;font-weight:700;display:grid}.operational-evidence-form input[type=file]{background:#fff}.operational-evidence-form small{color:var(--muted);font-weight:500}.operational-evidence-error{color:var(--danger);font-size:13px;font-weight:700}.handover-pending{gap:8px;display:grid}.handover-pending h2,.handover-pending p{margin:0}.handover-pending p{color:var(--muted)}@media (max-width:760px){.operational-evidence-heading{flex-direction:column;align-items:flex-start}.operational-evidence-form{grid-template-columns:1fr}.operational-evidence-form button{width:100%}}.testing-commissioning{gap:18px;display:grid}.testing-commissioning-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.testing-commissioning-heading h2{margin:0;font-size:20px}.testing-commissioning-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.testing-commissioning-form label{gap:7px;font-weight:700;display:grid}.testing-commissioning-form .wide{grid-column:1/-1}.testing-commissioning-form small{color:var(--muted);font-weight:400}.testing-commissioning-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.testing-commissioning-summary>div{gap:6px;display:grid}.testing-commissioning-summary span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.testing-commissioning-summary a{color:var(--green-dark)}.testing-commissioning-summary>p{border-top:1px solid var(--line);grid-column:1/-1;margin:0;padding-top:16px}@media (max-width:760px){.testing-commissioning-heading{flex-direction:column;align-items:flex-start}.testing-commissioning-form,.testing-commissioning-summary{grid-template-columns:1fr}.testing-commissioning-form .wide,.testing-commissioning-summary>p{grid-column:auto}.testing-commissioning-form button{width:100%}}.installation-planning,.customer-handover{gap:18px;display:grid}.external-request-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:18px;display:grid}.external-request-grid h3{margin:0 0 8px}.external-request-grid .verification-action{padding-top:0}.manual-follow-up{border-left:1px solid var(--line);padding-left:22px}.manual-follow-up form{gap:13px;display:grid}.public-schedule-form{border-top:1px solid var(--line);gap:16px;margin-top:22px;padding-top:20px;display:grid}.public-schedule-form button{width:100%}.public-acknowledgement{border:1px solid var(--line);background:#f7faf8;border-radius:12px;padding:16px;line-height:1.55}@media (max-width:760px){.external-request-grid{grid-template-columns:1fr}.manual-follow-up{border-left:0;border-top:1px solid var(--line);padding-top:18px;padding-left:0}}.new-site-visit-control{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.new-site-visit-control>summary{color:var(--green-dark);cursor:pointer;font-weight:800}.new-site-visit-control .visit-form{margin-top:16px}.public-bilingual-button{text-align:center;white-space:normal;gap:5px;min-height:62px;padding:12px 18px;line-height:1.25;display:grid}.public-bilingual-button span{display:block}.public-bilingual-button span[lang=ms]{font-size:.82em;font-weight:650}.public-actions .public-bilingual-button,.public-issue-form .public-bilingual-button{width:100%}button:focus-visible,.button:focus-visible{outline-offset:3px;outline:3px solid #8ac9a4}@media (max-width:480px){.public-bilingual-button{min-height:68px;padding:13px 12px}.operational-evidence-item{flex-direction:column;align-items:flex-start}.evidence-remove{justify-content:flex-start;width:auto!important}}.journey-step-link,.journey-step-static{color:inherit;text-decoration:none;display:block}.journey-step-link{border-radius:12px}.journey-step-link:hover strong{text-underline-offset:3px;text-decoration:underline}.milestone-journey li.viewing .journey-step-link{background:#edf6f1;box-shadow:0 0 0 2px #9fcbb3}.history-mode-banner{background:#f3f7f4;border:1px solid #b9d8c8;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 20px;padding:15px 18px;display:flex}.history-mode-banner>div{gap:4px;display:grid}.history-mode-banner span{color:var(--muted);text-transform:uppercase;font-size:13px;font-weight:800}.history-mode-banner .button{flex:none}.history-readonly-badge{color:#56615b;white-space:nowrap;background:#eef0ef;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.completed-milestone-summary{gap:18px;display:grid}.completed-milestone-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;display:grid}.completed-milestone-summary dl>div{gap:6px;display:grid}.completed-milestone-summary dt,.completed-milestone-notes>span,.historical-request-summary span,.historical-review-summary span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.completed-milestone-summary dd{margin:0;font-weight:700}.completed-milestone-notes{border-top:1px solid var(--line);gap:6px;padding-top:15px;display:grid}.completed-milestone-notes p{margin:0}.visit-notes{border-top:1px solid var(--line);margin:0;padding-top:14px}.historical-request-summary,.historical-review-summary{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:16px;display:grid}.historical-request-summary>div,.historical-review-summary>div{gap:6px;display:grid}.external-application{background:#fff;padding:20px;box-shadow:0 5px 18px #1832240a}.external-agency-section{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.external-agency-section>h4{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:12px}.external-details-readonly{gap:14px;display:grid}.external-details-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;display:grid}.external-details-grid>div{gap:5px;display:grid}.external-details-grid dt,.external-details-notes>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.external-details-grid dd{margin:0;font-weight:700}.external-reference-value{flex-wrap:wrap;align-items:baseline;gap:5px 9px;display:flex}.external-inline-edit{font-size:12px}.external-details-notes{gap:5px;display:grid}.external-details-notes p{margin:0;line-height:1.5}.external-application-form{border:1px solid var(--line);background:#f8faf9;border-radius:10px;margin-top:0;padding:16px}.external-edit-actions{gap:10px}.operational-evidence.embedded{gap:10px;margin-top:16px}.compact-evidence-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px 16px;display:grid}.compact-evidence-row h2{margin:0;font-size:15px!important}.compact-evidence-count{white-space:nowrap;font-size:14px}.compact-evidence-form{margin:0}.compact-file-input{display:none}.compact-evidence .operational-evidence-error{margin:0}.compact-evidence .operational-evidence-links{border-top:1px solid var(--line);margin:0;padding:10px 0 0;list-style-position:inside}.compact-evidence .operational-evidence-item{min-width:min(100%,260px);margin-left:6px;display:inline-flex}.issue-create-form{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 16px;margin-top:0;padding-top:16px;display:grid}.issue-create-form>textarea{grid-column:1/-1;min-height:74px}.issue-create-form .wide{grid-column:auto}.issue-create-form .form-actions{justify-self:end}.issue-heading h2{margin:0}.issue-workspace{margin-bottom:20px}.resolved-issue-history{padding-top:14px}@media (max-width:760px){.history-mode-banner{flex-direction:column;align-items:stretch}.history-mode-banner .button{width:100%}.completed-milestone-summary dl,.historical-request-summary,.historical-review-summary,.external-details-grid{grid-template-columns:1fr}.external-application{padding:16px}.compact-evidence-row{grid-template-columns:minmax(0,1fr) auto}.compact-evidence-row h2{grid-column:1/-1}.issue-create-form{grid-template-columns:1fr}.issue-create-form .wide,.issue-create-form>textarea{grid-column:auto}.issue-create-form .form-actions{justify-self:stretch}.issue-create-form .form-actions button{width:100%}}.warranty-summary{gap:18px;margin-top:20px;padding:22px;display:grid}.warranty-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.warranty-heading h2{margin:0;font-size:20px}.warranty-status{color:var(--green-dark);background:#e3f5ea;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.warranty-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;display:grid}.warranty-grid>div{gap:5px;display:grid}.warranty-grid dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.warranty-grid dd{margin:0;font-weight:700}@media (max-width:760px){.warranty-grid{grid-template-columns:1fr}.warranty-heading{flex-direction:column;align-items:flex-start}}.action-needed-cell{max-width:360px;font-weight:700}.action-needed-cell>span{display:block}.project-age-secondary{color:var(--muted);margin-top:5px;font-weight:600;line-height:1.35;display:block}.action-needed-summary{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:0 0 20px;padding:15px 18px;display:flex}.action-needed-summary>div{gap:5px;display:grid}.action-needed-summary span,.handover-timing span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.action-needed-summary.required{color:#704f00;background:#fff8e6;border-color:#ead9aa}.action-needed-summary.clear{color:var(--green-dark);background:#f7faf8}.action-needed-summary small{font-weight:700}.project-age-alert{opacity:.88;border-top:1px solid;flex-basis:100%;margin:0;padding-top:11px;font-size:13px;line-height:1.45}.handover-timing{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.handover-timing>div{gap:6px;display:grid}@media (max-width:760px){.action-needed-summary{flex-direction:column;align-items:flex-start}.handover-timing{grid-template-columns:1fr}.action-needed-cell{min-width:220px}}.contractor-progressive-payments{gap:16px;margin-top:20px;display:grid}.progressive-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.progressive-heading h2{margin:0;font-size:20px}.progressive-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.progressive-summary>div,.progressive-attempt-grid>div,.progressive-payment-history>div,.progressive-request-review dl>div{gap:5px;display:grid}.progressive-summary span,.progressive-attempt-grid dt,.progressive-payment-history dt,.progressive-request-review dt,.progressive-approved-amount span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.progressive-summary strong{font-size:15px}.progressive-summary-warning{color:#835c00;margin:0;font-size:13px;line-height:1.4}.progressive-warning{color:#704f00;background:#fff3d6;border:1px solid #e8ca79;border-radius:10px;margin:0;padding:13px 15px;line-height:1.45}.progressive-lock-note{color:var(--muted);background:#f2f4f3;border-radius:10px;margin:0;padding:13px 15px;font-weight:700}.progressive-new-request{border-top:1px solid var(--line);padding-top:16px}.progressive-new-request>summary{color:var(--green-dark);cursor:pointer;font-weight:800}.progressive-request-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;display:grid}.progressive-request-form label,.progressive-payment-details label,.progressive-reject-form label{gap:7px;font-weight:700;display:grid}.progressive-request-form .wide,.progressive-payment-details .wide{grid-column:1/-1}.progressive-request-review{border:1px solid var(--line);background:#f8faf9;border-radius:12px;gap:16px;padding:17px;display:grid}.progressive-request-review h3{margin:0}.progressive-request-review dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.progressive-request-review dd,.progressive-attempt-grid dd,.progressive-payment-history dd{margin:0;font-weight:700}.progressive-history{border-top:1px solid var(--line);gap:14px;padding-top:16px;display:grid}.progressive-history>h3{margin:0}.progressive-payment-group{gap:8px;display:grid}.progressive-payment-group+.progressive-payment-group{border-top:1px solid var(--line);padding-top:13px}.progressive-payment-group>h4{margin:0;font-size:14px}.progressive-payment-attempts{gap:8px;display:grid}.progressive-attempt{border:1px solid var(--line);border-radius:10px;gap:14px;display:grid}.progressive-attempt.historical{padding:10px 12px}.progressive-attempt.active{background:#fffdfa;border-color:#dec889;padding:16px}.progressive-attempt-heading{grid-template-columns:minmax(90px,1fr) auto minmax(105px,auto) minmax(95px,auto) auto;align-items:center;gap:10px 14px;display:grid}.progressive-attempt-identity{gap:3px;display:grid}.progressive-attempt-identity span,.progressive-attempt-date{color:var(--muted);font-size:13px}.progressive-attempt-amount{text-align:right;font-size:14px}.progressive-details-toggle{padding:8px 11px;font-size:13px}.progressive-status{white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800}.progressive-status.pending-finance-approval{color:#835c00;background:#fff1cf}.progressive-status.rejected{color:var(--danger);background:#f7e6e5}.progressive-status.approved--awaiting-payment-details{color:#285f88;background:#e7f0f8}.progressive-status.paid{color:var(--green-dark);background:#e3f5ea}.progressive-attempt-details{border-top:1px solid var(--line);gap:14px;padding-top:14px;display:grid}.progressive-attempt-grid,.progressive-payment-history{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;display:grid}.progressive-notes{border-top:1px solid var(--line);margin:0;padding-top:13px;line-height:1.5}.progressive-decision-history{background:#f8faf9;border-radius:10px;gap:5px;padding:13px 15px;display:grid}.progressive-decision-history span{color:var(--muted);font-size:13px}.progressive-decision-history p{margin:5px 0 0}.progressive-decision{border-top:1px solid var(--line);gap:13px;padding-top:15px;display:grid}.progressive-decision h4{margin:0}.progressive-approve-form{display:flex}.progressive-reject-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.progressive-payment-details{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;padding-top:16px;display:grid}.progressive-approved-amount{background:#edf6f1;border-radius:10px;grid-column:1/-1;gap:5px;padding:13px 15px;display:grid}.progressive-payment-history{background:#f8faf9;border-radius:10px;padding:14px}@media (max-width:1050px){.progressive-attempt-heading{grid-template-columns:minmax(90px,1fr) auto minmax(100px,auto) auto}.progressive-attempt-date{grid-column:1}.progressive-details-toggle{grid-area:2/4}}@media (max-width:900px){.progressive-summary,.progressive-attempt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.progressive-request-form,.progressive-request-review dl,.progressive-attempt-grid,.progressive-payment-history,.progressive-payment-details,.progressive-reject-form{grid-template-columns:1fr}.progressive-request-form .wide,.progressive-payment-details .wide,.progressive-approved-amount{grid-column:auto}.progressive-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progressive-summary>div:last-child{grid-column:1/-1}.progressive-attempt-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start}.progressive-status{white-space:normal;justify-self:end}.progressive-attempt-amount{text-align:left}.progressive-attempt-date{text-align:right;grid-area:2/2}.progressive-details-toggle{grid-area:auto/1/auto/-1;justify-self:start}.progressive-request-review .form-actions,.progressive-payment-details .form-actions{flex-direction:column;align-items:stretch}.progressive-request-review .form-actions button,.progressive-payment-details button,.progressive-reject-form button{width:100%}}
