.gcp-form,.gcp-portal{--g-forest:#2F5D50;--g-sage:#A8C3A0;--g-sage-s:#E4EEDF;--g-cream:#FBF7EF;--g-coral:#E07A5F;--g-coral-s:#FBE3DA;--g-butter:#F4D58D;--g-ink:#26332E;--g-muted:#5E6B65;--g-line:#E6DFD2;font-family:'Nunito',system-ui,sans-serif;color:var(--g-ink);font-size:16px;line-height:1.55}
.gcp-form *,.gcp-portal *{box-sizing:border-box}
.gcp-form [hidden],.gcp-portal [hidden]{display:none!important}
.gcp-card{background:#fff;border:1px solid var(--g-line);border-radius:22px;padding:26px;margin-bottom:20px}
.gcp-card h3{margin:0 0 12px;font-size:1.2rem}
.gcp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--g-coral);color:#fff!important;border:0;border-radius:999px;padding:12px 22px;font-weight:800;font-family:inherit;font-size:.98rem;cursor:pointer;text-decoration:none!important;line-height:1.2}
.gcp-btn:hover{background:#cf6a50}
.gcp-btn.ghost{background:#fff;color:var(--g-forest)!important;border:2px solid var(--g-line)}
.gcp-btn.ghost:hover{border-color:var(--g-sage)}
.gcp-small{font-size:.88rem;color:var(--g-muted)}
.gcp-note{background:var(--g-sage-s);border-radius:14px;padding:14px 16px;font-size:.93rem;margin:12px 0}
.gcp-note ol{margin:8px 0 0 18px;padding:0}
.gcp-alert{background:var(--g-coral-s);color:#8a3a26;border-radius:14px;padding:12px 16px;margin:0 0 16px;font-weight:700}
.gcp-flash{background:var(--g-sage-s);color:var(--g-forest);border-radius:14px;padding:12px 16px;margin:0 0 16px;font-weight:700}
.gcp-success{border-color:var(--g-sage);background:var(--g-sage-s)}
.req{color:var(--g-coral)}
.gcp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gcp-form{max-width:760px;margin:0 auto}
.gcp-steps-nav{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 22px;counter-reset:s}
.gcp-steps-nav li{flex:1;counter-increment:s;font-size:.8rem;font-weight:800;color:var(--g-muted);border-top:4px solid var(--g-line);padding-top:8px}
.gcp-steps-nav li:before{content:counter(s) ". "}
.gcp-steps-nav li.on{color:var(--g-forest);border-color:var(--g-coral)}
.gcp-steps-nav li.done{color:var(--g-forest);border-color:var(--g-sage)}
.gcp-step{border:0;padding:0;margin:0}
.gcp-step legend{font-family:'Fraunces',Georgia,serif;font-size:1.6rem;font-weight:600;margin-bottom:16px;padding:0}
.gcp-l{display:block;font-weight:800;margin:0 0 16px}
.gcp-l input,.gcp-l select,.gcp-l textarea,.gcp-msgform textarea,.gcp-inline select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--g-line);border-radius:14px;background:var(--g-cream);font:inherit;font-weight:400;color:var(--g-ink)}
.gcp-l input:focus,.gcp-l select:focus,.gcp-l textarea:focus,.gcp-msgform textarea:focus{outline:0;border-color:var(--g-sage);box-shadow:0 0 0 3px var(--g-sage-s)}
.gcp-q{font-weight:800;margin:18px 0 8px}
.gcp-radios{display:flex;flex-wrap:wrap;gap:8px;border-radius:14px}
.gcp-radios.stack{flex-direction:column}
.gcp-radios label{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1.5px solid var(--g-line);border-radius:14px;padding:11px 14px;cursor:pointer;font-weight:600;margin:0}
.gcp-radios label:hover{border-color:var(--g-sage)}
.gcp-radios input{margin-top:4px;accent-color:var(--g-forest)}
.gcp-radios label:has(input:checked){border-color:var(--g-forest);background:var(--g-sage-s)}
.gcp-invalid{outline:2px solid var(--g-coral);outline-offset:3px}
input.gcp-invalid,select.gcp-invalid{outline:0;border-color:var(--g-coral)!important}
.gcp-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
.gcp-nav .gcp-btn:only-child{margin-left:auto}
.gcp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.gcp-ulist{margin:6px 0 10px 20px;padding:0}
.gcp-ulist li{margin-bottom:4px}
.gcp-portal{max-width:1120px;margin:0 auto;padding:30px 0}
.gcp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:18px}
.gcp-head h2{margin:0 0 6px}
.gcp-head-actions{display:flex;gap:10px}
.gcp-login{max-width:460px;margin:0 auto}
.gcp-login input[type=text],.gcp-login input[type=password]{width:100%;padding:12px 14px;border:1.5px solid var(--g-line);border-radius:14px;background:var(--g-cream);font:inherit}
.gcp-login .login-submit input{background:var(--g-coral);color:#fff;border:0;border-radius:999px;padding:12px 26px;font-weight:800;cursor:pointer}
.gcp-list{display:flex;flex-direction:column;gap:10px}
.gcp-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--g-line);border-radius:18px;padding:16px 20px;text-decoration:none!important;color:var(--g-ink)!important}
.gcp-row:hover{border-color:var(--g-sage)}
.gcp-row .t{flex:1}.gcp-row small{display:block;color:var(--g-muted)}
.gcp-price{font-weight:800;color:var(--g-forest)}
.gcp-status{display:inline-block;font-size:.8rem;font-weight:800;padding:4px 12px;border-radius:999px;background:var(--g-sage-s);color:var(--g-forest);white-space:nowrap}
.gcp-status.s-quote_requested,.gcp-status.s-on_hold{background:#FCF0CF;color:#7a5b10}
.gcp-status.s-quoted,.gcp-status.s-payment_pending{background:var(--g-coral-s);color:#9b4329}
.gcp-status.s-complete{background:var(--g-forest);color:#fff}
.gcp-status.s-cancelled{background:#eee;color:#666}
.gcp-timeline{display:flex;list-style:none;padding:0;margin:8px 0 26px;gap:0;overflow-x:auto}
.gcp-timeline li{flex:1;min-width:90px;text-align:center;font-size:.8rem;font-weight:700;color:var(--g-muted);position:relative;padding-top:30px}
.gcp-timeline li span{position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--g-line);z-index:1}
.gcp-timeline li:before{content:"";position:absolute;top:10px;left:-50%;width:100%;height:3px;background:var(--g-line)}
.gcp-timeline li:first-child:before{display:none}
.gcp-timeline li.done span{background:var(--g-sage);border-color:var(--g-sage)}
.gcp-timeline li.done:before,.gcp-timeline li.current:before{background:var(--g-sage)}
.gcp-timeline li.current span{border-color:var(--g-coral);background:var(--g-coral-s)}
.gcp-timeline li.current,.gcp-timeline li.done{color:var(--g-forest)}
.gcp-cols{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}
.gcp-pay{border:2px solid var(--g-coral)}
.gcp-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.gcp-method{border:1px solid var(--g-line);border-radius:16px;padding:16px;background:var(--g-cream)}
.gcp-method .mh{display:flex;justify-content:space-between;gap:8px}
.gcp-method .mh span{font-weight:800;color:var(--g-forest)}
.gcp-method form{margin:0}
.gcp-wire summary{cursor:pointer;font-weight:800;color:var(--g-forest)}
.gcp-wire-body{margin-top:10px;font-size:.9rem}
.gcp-drop{display:block;border:2px dashed var(--g-sage);border-radius:16px;padding:22px;text-align:center;cursor:pointer;background:var(--g-cream);margin:12px 0}
.gcp-drop input{display:none}
.gcp-inline{display:flex;gap:10px;align-items:center}
.gcp-inline select{margin:0;flex:1}
.gcp-files{width:100%;border-collapse:collapse;margin-top:16px;font-size:.9rem}
.gcp-files th{text-align:left;color:var(--g-muted);font-size:.8rem;border-bottom:1px solid var(--g-line);padding:6px}
.gcp-files td{padding:8px 6px;border-bottom:1px solid var(--g-line)}
.gcp-thread{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;margin-bottom:14px;padding-right:4px}
.gcp-msg{background:var(--g-cream);border-radius:16px;padding:12px 14px;max-width:85%}
.gcp-msg.team{background:var(--g-sage-s)}
.gcp-msg.mine{align-self:flex-end;background:#fff;border:1px solid var(--g-line)}
.gcp-msg .who{font-size:.78rem;font-weight:800;color:var(--g-forest);margin-bottom:4px}
.gcp-msg .who small{font-weight:600;color:var(--g-muted)}
.gcp-event{font-size:.8rem;color:var(--g-muted);text-align:center}
.gcp-msgform{display:flex;gap:10px;align-items:flex-end}
.gcp-msgform textarea{margin:0}
.gcp-answers{margin:0;font-size:.9rem}
.gcp-answers dt{font-weight:800;color:var(--g-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;margin-top:10px}
.gcp-answers dd{margin:2px 0 0}
.gcp-teambox{border:2px solid var(--g-butter);background:#fffdf6}
@media (max-width:860px){.gcp-cols{grid-template-columns:1fr}.gcp-grid2{grid-template-columns:1fr}.gcp-msgform{flex-direction:column;align-items:stretch}}

.gcp-addr-row{display:flex;gap:8px;align-items:stretch;margin-top:6px}
.gcp-addr-row input{margin-top:0!important;flex:1}
.gcp-addr-row .gcp-btn{white-space:nowrap}
.gcp-bldg{margin-bottom:6px}
.gcp-result{margin:-6px 0 14px}
.gcp-found{background:var(--g-sage-s);border-radius:14px;padding:12px 14px}
.gcp-chips{display:flex;flex-wrap:wrap;gap:6px}
.gcp-chip{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--g-sage);color:var(--g-forest);font-weight:700;font-size:.82rem;padding:4px 10px;border-radius:999px}
.gcp-chip.sm{font-size:.72rem;padding:2px 8px}
.gcp-chip.warn{border-color:#e9c46a;background:#FCF0CF;color:#7a5b10}
.gcp-chip-x{border:0;background:none;color:var(--g-coral);font-weight:800;cursor:pointer;padding:0 0 0 2px;font-size:1rem;line-height:1}
.gcp-link{background:none;border:0;color:var(--g-forest);font-weight:800;cursor:pointer;padding:4px 0;font:inherit;text-decoration:underline}
.gcp-manual{margin:12px 0;font-size:.92rem}
.gcp-manual summary{cursor:pointer;color:var(--g-forest);font-weight:700}
.gcp-manual select{display:block;width:100%;margin:10px 0;padding:10px 12px;border:1.5px solid var(--g-line);border-radius:12px;background:var(--g-cream);font:inherit}
.gcp-dl{display:inline-block;font-weight:800;color:var(--g-forest);background:var(--g-sage-s);padding:2px 10px;border-radius:999px;font-size:.85rem;white-space:nowrap}
.gcp-dl.warm{background:#FCF0CF;color:#7a5b10}
.gcp-dl.hot{background:var(--g-coral-s);color:#9b4329}
.gcp-checklist{list-style:none;margin:6px 0 12px;padding:0}
.gcp-checklist li{position:relative;padding:6px 0 6px 30px;font-weight:600}
.gcp-checklist li:before{content:"";position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:6px;border:2px solid var(--g-sage)}
.gcp-flags{margin:0;padding-left:18px}.gcp-flags li{margin:4px 0}
.gcp-fgroup{font-weight:800;margin:16px 0 4px;color:var(--g-forest);font-size:.9rem}
.gcp-files td.r{text-align:right;white-space:nowrap}
.gcp-count{display:inline-block;background:var(--g-sage-s);color:var(--g-forest);border-radius:999px;padding:0 8px;font-size:.75rem;vertical-align:middle}
.gcp-bl-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px dashed var(--g-line)}
.gcp-bl-addr a{color:var(--g-ink);font-weight:700}
.gcp-laws{margin-top:12px}
.gcp-markpaid{margin-top:16px;padding-top:12px;border-top:1px dashed var(--g-line)}
.gcp-markpaid input{padding:10px;border:1.5px solid var(--g-line);border-radius:12px}
.gcp-method .mh s{color:var(--g-muted);font-weight:400;font-size:.85rem;margin-left:4px}
