:root{--gg-primary:#29463a;--gg-primary-hover:#20382f;--gg-secondary:#66765b;--gg-accent:#76657b;--gg-warm:#a17d45;--gg-background:#f1f0ec;--gg-surface:#faf9f6;--gg-border:#c8c9c4;--gg-text:#252a28;--gg-muted:#626965;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--radius:12px}html{font-size:16px}body{margin:0;background:var(--gg-background);color:var(--gg-text);font-family:Inter,Segoe UI,system-ui,sans-serif;line-height:1.5}.container{max-width:1180px;margin:auto;padding:0 1.25rem}.navbar{background:var(--gg-primary);color:#fff;padding:1rem 0}.navbar .container{display:flex;justify-content:space-between;align-items:center}.navbar-brand{color:#fff;text-decoration:none;font-weight:750;letter-spacing:.01em}.account-nav{display:flex;align-items:center;gap:1rem;color:#dce5df;font-size:.9rem}.account-nav a{color:#fff;font-weight:700}.account-nav form{margin:0}.nav-button{margin:0;padding:.4rem .7rem;background:transparent;border:1px solid rgba(255,255,255,.55)}.main{padding-top:2.5rem;padding-bottom:4rem}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:1.5rem}.hero h1,.page-heading h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:.35rem 0}.hero p,.page-heading p{color:var(--gg-muted);max-width:620px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--gg-secondary);font-size:.75rem;font-weight:800}.hero-stat{background:var(--gg-primary);color:#fff;border-radius:var(--radius);padding:1rem 1.4rem;display:flex;flex-direction:column;min-width:110px}.hero-stat strong{font-size:2rem}.workspace{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.4fr);gap:1.5rem;align-items:start}.panel,.auth-card{background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 7px 25px rgba(37,42,40,.06)}.panel h2{margin-top:0}.panel-heading{display:flex;justify-content:space-between;align-items:center}.badge,.status{font-size:.78rem;font-weight:750;color:var(--gg-primary)}.badge{background:#e3e8e1;padding:.35rem .6rem;border-radius:99px}label{display:block;font-weight:650;margin:.9rem 0 .3rem}input,textarea,select{box-sizing:border-box;width:100%;border:1px solid #a8aba7;border-radius:7px;padding:.7rem .75rem;background:#fff;color:var(--gg-text);font:inherit}input:focus,textarea:focus,select:focus{outline:3px solid rgba(118,101,123,.25);border-color:var(--gg-accent)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}button,.secondary-button{display:inline-block;border:0;border-radius:7px;padding:.72rem 1rem;font-weight:700;text-decoration:none;cursor:pointer}button{margin-top:1.2rem;background:var(--gg-primary);color:#fff}button:hover{background:var(--gg-primary-hover)}.secondary-button{color:var(--gg-primary);border:1px solid var(--gg-primary);white-space:nowrap}.enquiry-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.15rem 0;border-top:1px solid var(--gg-border)}.enquiry-card h3{margin:.2rem 0}.enquiry-card p{margin:.2rem 0;color:var(--gg-muted)}small{color:var(--gg-muted)}.empty{padding:3rem 1rem;text-align:center;color:var(--gg-muted)}.notice{border-left:5px solid var(--gg-secondary);background:#e7ede4;padding:.9rem 1rem;margin-bottom:1rem}.form-wide{max-width:760px}.form-wide h2{margin-top:1.7rem}.page-heading{margin:1.5rem 0}.back{color:var(--gg-primary);font-weight:700}.field-validation-error,.validation,.text-danger{color:#922f2f;font-size:.85rem}.auth-shell{min-height:65vh;display:grid;place-items:center;padding:1rem 0}.auth-card{width:min(100%,470px);padding:clamp(1.4rem,4vw,2.4rem);box-shadow:0 15px 45px rgba(37,42,40,.1)}.auth-card h1{font-size:clamp(2rem,6vw,3rem);line-height:1.05;margin:.3rem 0}.auth-card>p{color:var(--gg-muted)}.auth-card .btn{width:100%;margin-top:1.25rem}.check-row{display:flex;align-items:center;gap:.55rem;font-weight:500}.check-row input{width:auto}.password-hint{font-size:.85rem;margin:.4rem 0;color:var(--gg-muted)}.auth-switch{margin:1.4rem 0 0;text-align:center}@media(max-width:760px){.workspace{grid-template-columns:1fr}.hero{align-items:start}.hero-stat{display:none}.field-row{grid-template-columns:1fr}.enquiry-card{align-items:start;flex-direction:column}}@media(max-width:600px){.navbar .container{align-items:flex-start;gap:1rem}.account-nav{gap:.6rem}.account-nav span{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.business-details-panel,.financial-status-panel{grid-column:1/-1}.business-summary{display:grid;grid-template-columns:minmax(170px,.35fr) 1fr;column-gap:3rem;margin:1rem 0 0}.business-summary dt,.business-summary dd{padding:.75rem 0;border-bottom:1px solid var(--gg-border);margin:0}.business-summary dd{font-weight:650}.business-details-panel .panel-heading,.financial-status-panel .panel-heading{align-items:flex-start}.status-callout{display:block;padding:1rem 1.1rem;border-radius:10px;margin-top:1.25rem}.status-callout strong,.status-callout span{display:block}.status-callout span{color:var(--gg-muted);margin-top:.35rem}.status-complete{background:#e8f0e7;border:1px solid #b8cdb6}.status-incomplete{background:#fff4e5;border:1px solid #e6c58c}@media(max-width:600px){.business-summary{grid-template-columns:1fr}.business-summary dt{border-bottom:0;padding-bottom:.2rem}.business-summary dd{padding-top:0}.status-callout{margin-top:1rem}}
.accounting-guide{border-top:5px solid var(--gg-secondary)}.accounting-guide>.panel-heading{align-items:flex-start}.accounting-guide>.panel-heading h2{margin-bottom:.35rem}.accounting-paths,.accounting-boundaries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.accounting-paths article{padding:1.15rem;border:1px solid var(--gg-border);border-radius:10px;background:#f4f3ef}.accounting-paths h3,.accounting-boundaries h3{margin:.1rem 0 .45rem}.accounting-paths p:last-child{margin-bottom:0}.accounting-guide details{border-top:1px solid var(--gg-border);padding:.15rem 0}.accounting-guide summary{padding:1rem 0;color:var(--gg-primary);font-weight:750;cursor:pointer}.accounting-guide details[open]{padding-bottom:.8rem}.accounting-guide details>p,.accounting-guide details>ol,.accounting-guide details>ul,.accounting-guide details>div{margin-top:.25rem}.accounting-guide li+li{margin-top:.35rem}.accounting-boundaries>div{padding:.2rem 1rem;border-left:4px solid var(--gg-secondary)}.accounting-guide-help{margin:1rem 0 0;padding:1rem;border-radius:8px;background:#e7ede4}.accounting-guide a{font-weight:700;color:var(--gg-primary)}@media(max-width:700px){.accounting-paths,.accounting-boundaries{grid-template-columns:1fr}.accounting-guide>.panel-heading{gap:1rem}.accounting-guide .badge{white-space:nowrap}}
.accounting-overview{margin-bottom:1rem;border-top:5px solid var(--gg-primary)}.accounting-overview>.panel-heading{align-items:flex-start}.accounting-overview h2{margin-bottom:.35rem}.accounting-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.accounting-service-card{display:flex;flex-direction:column;align-items:flex-start;padding:1.2rem;border:1px solid var(--gg-border);border-radius:10px;background:#f4f3ef}.accounting-service-card>div{display:flex;align-items:center;gap:.85rem}.accounting-service-card h3{margin:0 0 .2rem}.accounting-service-card p{flex:1;margin:.9rem 0;color:var(--gg-muted)}.accounting-service-card button{margin:0}.accounting-provider-mark{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:9px;background:#13b5ea;color:#fff;font-weight:850}.accounting-provider-mark-qb{background:#2ca01c;font-size:.8rem}.accounting-provider-mark-sage{background:#00a376}.accounting-overview-note{margin:0;padding-top:1rem;border-top:1px solid var(--gg-border);color:var(--gg-muted)}.accounting-tab-list{display:flex;gap:.35rem;margin:1.5rem 0 1rem;padding:.35rem;border:1px solid var(--gg-border);border-radius:10px;background:#e4e5e0}.accounting-tab-list button{flex:1;margin:0;background:transparent;color:var(--gg-primary)}.accounting-tab-list button:hover{background:#eef1ec}.accounting-tab-list button[aria-selected="true"]{background:var(--gg-primary);color:#fff;box-shadow:0 3px 10px rgba(37,42,40,.16)}.accounting-provider-panel:focus{outline:none}.accounting-provider-panel>.panel+ .panel{margin-top:1rem}@media(max-width:700px){.accounting-service-grid{grid-template-columns:1fr}.accounting-overview>.panel-heading{gap:1rem}.accounting-tab-list{position:sticky;top:.5rem;z-index:20}.accounting-tab-list button{padding:.7rem .5rem}}
.accounting-connection-panel{scroll-margin-top:1rem}.accounting-guide .accounting-paths a{font-weight:800}
button.secondary-button{margin-top:0;background:transparent;color:var(--gg-primary);border:1px solid var(--gg-primary);font:inherit;line-height:1.2}button.secondary-button:hover{background:#e8eee8;color:var(--gg-primary)}
 .site-footer { margin-top: 4rem; padding: 2rem 0; border-top: 1px solid rgba(41,70,58,.16); color: #53625b; font-size: .95rem; }
 .site-footer .container { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; flex-wrap: wrap; }
 .site-footer nav { display: flex; gap: 1rem; flex-wrap: wrap; }
 .site-footer a { color: #29463a; }
 .legal-document { max-width: 920px; margin: 3rem auto; }
 .legal-document h2 { margin-top: 2rem; }
 .legal-document p { max-width: 78ch; }
 .cookie-banner { position: fixed; z-index: 1000; left: 1rem; right: 1rem; bottom: 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.25rem; background: #fff; border: 1px solid var(--gg-border); border-left: 5px solid var(--gg-primary); border-radius: var(--radius); box-shadow: 0 12px 35px rgba(37,42,40,.18); }
 .cookie-banner p { margin: .25rem 0 0; color: var(--gg-muted); max-width: 900px; }
 .cookie-banner a { color: var(--gg-primary); font-weight: 700; }
 .cookie-banner button { flex: 0 0 auto; margin: 0; }
 @media(max-width:600px){ .cookie-banner { align-items: stretch; flex-direction: column; } .cookie-banner button { width: 100%; } }
.customer-directory{margin-top:1.5rem}.customer-search{padding:1rem 0 1.25rem}.customer-search label{margin-top:0}.customer-search>div{display:flex;gap:.75rem;align-items:center}.customer-search button{margin:0}.customer-search a{color:var(--gg-primary);font-weight:700}.customer-table-wrap{overflow-x:auto}.customer-table{width:100%;border-collapse:collapse}.customer-table th,.customer-table td{text-align:left;padding:.85rem .7rem;border-top:1px solid var(--gg-border);vertical-align:middle}.customer-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--gg-muted)}.customer-table td span,.customer-table td small{display:block}.customer-table td small{margin-top:.15rem}.customer-table .secondary-button{font-size:.85rem}.customer-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;border-top:1px solid var(--gg-border);color:var(--gg-muted)}.customer-pagination>div{display:flex;align-items:center;gap:.75rem}.customer-pagination strong{color:var(--gg-text);white-space:nowrap}.customer-contact{display:flex;align-items:flex-start;gap:3rem;margin:1.5rem 0}.customer-contact div{display:flex;flex-direction:column;gap:.15rem}.customer-contact strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;color:var(--gg-muted)}.customer-contact-action form{margin:0}.customer-contact-action button{margin:0;font:inherit;line-height:1.5}.customer-record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.record-item{border-top:1px solid var(--gg-border);padding:1rem 0}.record-item h3{margin:.1rem 0 .3rem;font-size:1.05rem}.record-item p{margin:.3rem 0;color:var(--gg-muted)}.record-item.compact{padding:.8rem 0}.record-item a{color:var(--gg-primary);font-weight:700}.multiline{white-space:pre-line}.status-pill{display:inline-block;padding:.2rem .5rem;border-radius:99px;background:#e8eee8;color:var(--gg-primary);font-size:.78rem;font-weight:750}@media(max-width:850px){.customer-record-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.customer-contact{flex-direction:column;gap:1rem}.customer-record-grid{grid-template-columns:1fr}.customer-search>div{align-items:stretch;flex-direction:column}.customer-search button{width:100%}.customer-pagination{align-items:flex-start;flex-direction:column}.customer-pagination>div{width:100%;justify-content:space-between}.customer-table th:nth-child(3),.customer-table td:nth-child(3),.customer-table th:nth-child(4),.customer-table td:nth-child(4),.customer-table th:nth-child(5),.customer-table td:nth-child(5){display:none}}
 .print-only { display:none; }
 .quotation-print-header { border-bottom:2px solid #29463a; padding-bottom:1.25rem; margin-bottom:1.5rem; }
 .quotation-print-brand { display:flex; justify-content:space-between; gap:2rem; }
 .quotation-print-brand h1 { margin:0 0 .35rem; font-size:1.8rem; }
 .quotation-print-brand p { margin:.15rem 0; }
 .print-address { white-space:pre-line; }
 .quotation-print-title { text-align:right; }
 .quotation-print-title h2 { margin:0 0 .35rem; font-size:1.65rem; }
 .quotation-print-customer { display:flex; flex-direction:column; gap:.15rem; margin-top:1.25rem; }
 .quotation-acceptance { border-top:2px solid #29463a; margin-top:2rem; padding-top:1rem; }
 .quotation-acceptance h2 { margin:0 0 .5rem; }
 .signature-grid { display:grid; grid-template-columns:2fr 2fr 1fr; gap:1.5rem 2rem; margin-top:1.5rem; }
 .signature-grid div { min-height:2.6rem; border-bottom:1px solid #555; display:flex; flex-direction:column; }
 .signature-grid span { font-size:.78rem; color:#626965; }
 .signature-grid strong { min-height:1.2rem; }
 @media print { .print-hide, .navbar, .site-footer, .back { display:none !important; } .print-only { display:block !important; } .main { padding:0; } body { background:#fff; } .quotation-detail-grid { display:block; } .quotation-detail-grid .panel { border:0; box-shadow:none; padding:0; } .quotation-detail-grid .panel + .panel { margin-top:1.4rem; } .quotation-detail-grid h2 { border-bottom:1px solid #c8c9c4; padding-bottom:.3rem; } .quotation-print-brand { display:flex; } }
.customer-history{margin-top:1.5rem}.history-list .record-item{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.customer-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.garden-passport-panel{grid-column:1/-1}.garden-passport-panel .garden-passport-editor form{max-width:none}.garden-passport-panel .garden-passport-editor>p{max-width:70ch}.garden-passport-panel fieldset{margin-top:1.25rem;border:1px solid var(--gg-border);border-radius:10px;padding:1rem 1.15rem}.garden-passport-panel fieldset legend{padding:0 .4rem;font-weight:750}.garden-passport-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:850px){.customer-record-grid{grid-template-columns:1fr}.garden-passport-panel{grid-column:auto}.garden-passport-panel .form-grid{grid-template-columns:1fr}}
.aftercare-planner{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--gg-border)}.aftercare-planner h4{margin:0;font-size:1.25rem}.aftercare-task-list{display:grid;gap:.75rem;margin:1rem 0}.aftercare-task{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem;border:1px solid var(--gg-border);border-radius:10px;background:#fff}.aftercare-task.is-overdue{border:2px solid #b54728;background:#fff8f2}.aftercare-task>div:first-child{display:grid;gap:.2rem}.aftercare-task p{margin:.3rem 0}.aftercare-task .button-row,.aftercare-task form,.aftercare-task button{margin:0}.aftercare-planner>details{margin-top:1rem;padding:1rem;border:1px solid var(--gg-border);border-radius:10px;background:#f7f6f2}.aftercare-planner>details>summary{font-weight:750;cursor:pointer}@media(max-width:700px){.aftercare-task{grid-template-columns:1fr}}
a{color:var(--gg-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}a:hover{color:var(--gg-primary-hover)}
.customer-communication-preference{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.85fr);gap:2rem;margin-bottom:1.5rem}.customer-communication-preference h2{margin:.3rem 0}.preference-record{display:grid;gap:.2rem;padding:.8rem 1rem;background:#e7ede4;border-left:4px solid var(--gg-primary)}.preference-record span{color:var(--gg-muted)}.preference-pending{background:#f4eee1;border-left-color:#aa7128}.customer-communication-preference fieldset{display:grid;gap:.55rem;border:0;padding:0;margin:0}.customer-communication-preference legend{font-weight:700;margin-bottom:.35rem}@media(max-width:800px){.customer-communication-preference{grid-template-columns:1fr}}
.customer-portal-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.45fr) minmax(290px,.65fr);align-items:center;gap:2rem;margin-bottom:1.5rem}.customer-portal-access h2{margin:.25rem 0}.customer-access-status,.customer-access-actions{display:grid;justify-items:start;gap:.55rem}.customer-access-actions{grid-template-columns:auto auto}.customer-access-actions form,.customer-access-actions button{margin:0}.customer-access-actions small{grid-column:1/-1}.status-pending{background:#f4eee1;color:#7b501b}@media(max-width:900px){.customer-portal-access{grid-template-columns:1fr 1fr}.customer-portal-access>div:first-child{grid-column:1/-1}}@media(max-width:600px){.customer-portal-access{grid-template-columns:1fr}.customer-portal-access>div:first-child{grid-column:auto}.customer-access-actions{grid-template-columns:1fr}.customer-access-actions small{grid-column:auto}}
.subscription-banner{display:flex;align-items:center;gap:1rem;margin:1rem 0;padding:.85rem 1rem;border-left:5px solid #98463f;background:#f5e7e4;border-radius:6px}.subscription-banner span{flex:1}.subscription-banner a{font-weight:700}.subscription-banner-trial{border-left-color:#61775d;background:#edf2ea}@media(max-width:700px){.subscription-banner{align-items:flex-start;flex-direction:column;gap:.35rem}}
.subscription-consent{align-items:flex-start;gap:.75rem;margin:1.25rem 0 .5rem;line-height:1.5}.subscription-consent input{flex:0 0 auto;margin-top:.35rem}.subscription-consent span{min-width:0}
.feature-grid.subscription-layout{grid-template-columns:minmax(280px,.72fr) minmax(0,1.48fr);gap:1.5rem;margin:2rem 0 1.5rem}.subscription-layout>.panel{height:auto}.subscription-layout form{max-width:760px}@media(max-width:800px){.feature-grid.subscription-layout{grid-template-columns:1fr;gap:1rem}}
:root{--gg-secondary:#59684f}
.main-wide{max-width:1440px}.feature-grid.retention-layout{grid-template-columns:minmax(29rem,.9fr) minmax(38rem,1.1fr);gap:1.5rem;margin:2rem 0 1.5rem}.retention-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.retention-periods label{margin:.9rem 0 .3rem}.retention-periods>div:last-child{grid-column:1/-1;max-width:calc(50% - .5rem)}@media(max-width:900px){.feature-grid.retention-layout{grid-template-columns:1fr}.retention-periods{grid-template-columns:1fr}.retention-periods>div:last-child{grid-column:auto;max-width:none}}
