@import url("./design-system.css");

*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font:16px/1.6 Arial,sans-serif}header,main,footer{max-width:1160px;margin:auto;padding:28px}header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}header>a{font-size:23px;letter-spacing:3px;font-weight:bold;text-decoration:none}header>span,.muted,small{color:var(--muted)}a{color:var(--green)}h1{font:48px/1.15 var(--font);margin:12px 0 28px}h2{font-size:25px;line-height:1.3}h3{font-size:18px}p{margin:12px 0}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:bold}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px;margin:22px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:grid;gap:6px;font-size:13px;font-weight:bold;margin-bottom:15px}input,textarea,select{width:100%;padding:12px;border:1px solid #bdc8bb;border-radius:6px;font:16px Arial;background:white;color:var(--ink)}textarea{min-height:100px}button,.button{display:inline-block;border:0;border-radius:6px;background:var(--green);color:white;padding:13px 20px;font:600 14px Arial;cursor:pointer;text-decoration:none}button.secondary{background:var(--background-secondary);color:var(--green)}button:disabled{opacity:.5;cursor:wait}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.check{display:flex;align-items:flex-start;gap:10px;font-weight:normal}.check input{width:18px;min-width:18px;margin-top:4px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}.scroll{overflow-x:auto}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.amount{font-size:32px;letter-spacing:-1px}dt{font-size:13px;color:var(--muted)}dd{margin:0 0 15px;overflow-wrap:anywhere}.badge{display:inline-block;padding:3px 10px;border:1px solid var(--line);border-radius:20px;font-size:12px}pre{white-space:pre-wrap;font:14px/1.7 Arial}details{padding:14px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:bold}#notice:not(:empty){padding:12px 16px;background:var(--background-secondary);border-radius:6px}#notice.error{background:var(--background-secondary);color:#7e2b1f}.line{padding:16px 0;border-bottom:1px solid var(--line)}.line-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.thumb{max-width:160px;max-height:100px;border-radius:6px}.totalrow{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}footer{font-size:13px;border-top:1px solid var(--line);margin-top:50px;padding-bottom:50px}:focus-visible{outline:3px solid #71876c;outline-offset:3px}@media(max-width:700px){header,main,footer{padding:20px}header>span{display:none}h1{font-size:37px}.grid{grid-template-columns:1fr}.card{padding:18px}.line-grid{grid-template-columns:1fr 1fr}.actions button{flex:1}table{min-width:550px}.amount{font-size:28px}}

header,main,footer{max-width:1360px}.portal-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:38px;align-items:start}.portal-sidebar{position:sticky;top:24px;padding-top:10px}.portal-sidebar nav{display:grid;gap:6px}.nav-item{background:transparent;color:var(--muted);text-align:left;padding:14px 16px;border-radius:9px}.nav-item:hover,.nav-item.current{background:var(--background-secondary);color:var(--green)}.nav-item.current{box-shadow:inset 3px 0 var(--green)}.portal-help{margin-top:36px;padding:20px 12px;border-top:1px solid var(--line);font-size:13px;display:grid;gap:8px}.portal-help a{text-decoration:none}.portal-content{min-width:0}.portal-content>.card:first-child{margin-top:0}.welcome{background:var(--background-secondary);border:1px solid #dce5d8;border-radius:16px;padding:34px}.welcome h2{font:36px/1.2 var(--font);margin:14px 0}.welcome p:not(.eyebrow){max-width:580px;color:var(--muted);margin-bottom:24px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.metrics button{display:grid;text-align:left;background:#fff;border:1px solid var(--line);color:var(--ink);padding:24px;border-radius:12px;gap:12px}.metrics strong{font:34px var(--font)}.metrics span{font-size:13px;color:var(--muted);line-height:1.5}.request-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.request-row:last-child{border-bottom:0}.request-row>div{min-width:0;overflow-wrap:anywhere}.request-row h3{margin:12px 0 4px}.request-row>button{flex-shrink:0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{margin:0}.empty{padding:34px}.empty p{max-width:580px;margin-bottom:24px}.attention{border-left:3px solid #8d9b63}button:hover{filter:brightness(.96)}.card h2:first-child{margin-top:0}.portal-content .card{border-radius:14px}#notice:empty{display:none}@media(max-width:950px){.portal-layout{grid-template-columns:1fr;gap:22px}.portal-sidebar{position:static;padding:0}.portal-sidebar>.eyebrow,.portal-help{display:none}.portal-sidebar nav{display:flex;overflow-x:auto;padding-bottom:8px;gap:6px}.nav-item{white-space:nowrap;flex-shrink:0}.nav-item.current{box-shadow:inset 0 -3px var(--green)}}@media(max-width:600px){.welcome{padding:24px}.welcome h2{font-size:29px}.metrics{gap:8px}.metrics button{padding:16px 10px}.metrics strong{font-size:28px}.metrics span{font-size:11px}.request-row{display:block}.request-row>button{margin-top:16px}.section-heading{align-items:flex-start;flex-direction:column}.empty{padding:24px}main{padding-top:18px}h1{font-size:34px;margin-bottom:22px}.portal-content .grid{gap:6px}}

.onboarding-page{background:var(--background)}.entry-signin{font-size:14px;letter-spacing:0;font-weight:600;align-self:center;text-align:right}.entry-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;padding-top:58px;padding-bottom:60px;align-items:start}.entry-intro{padding-top:32px;position:sticky;top:24px}.entry-intro h1{font-size:clamp(40px,4vw,58px);letter-spacing:-1.5px;margin:24px 0}.entry-lead{font-size:18px;color:var(--muted);max-width:400px}.entry-steps{list-style:none;padding:0;margin:38px 0}.entry-steps li{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.entry-steps li>span{font-size:12px;letter-spacing:1px;color:#7a8b70;padding-top:3px}.entry-steps p{font-size:14px;color:var(--muted);margin:5px 0}.entry-contact{display:grid;gap:4px;font-size:14px;margin-top:30px}.entry-contact a{font-size:19px;text-decoration:none}.entry-form{margin:0;padding:36px;background:#fff;box-shadow:0 10px 40px var(--text)05}.entry-form h2{font:32px/1.2 var(--font);margin:12px 0}.entry-form form{margin-top:26px}.entry-form .grid{gap:16px}.entry-form label{margin-bottom:18px}.entry-form input{padding:13px;background:var(--surface);border-color:#d6ddd0}.optional{font-weight:400;color:var(--muted);display:inline}.entry-privacy,.entry-note{font-size:12px;color:var(--muted);line-height:1.6}.entry-submit{width:100%;margin-top:12px;line-height:1.5}.entry-note{text-align:center}.entry-form #entry-notice:not(:empty){padding:12px;background:var(--background-secondary);color:#7e2b1f}.onboarding-page footer{margin-top:0}@media(max-width:850px){.entry-layout{gap:28px;grid-template-columns:1fr;padding-top:24px}.entry-intro{position:static;padding-top:0}.entry-intro h1{font-size:38px;margin:12px 0}.entry-steps{display:none}.entry-lead{max-width:600px;font-size:16px}.entry-contact{display:none}.entry-form{padding:24px}.entry-form h2{font-size:28px}.onboarding-page header{align-items:center}.onboarding-page header>a:first-child{font-size:19px}.onboarding-page .entry-signin{font-size:12px;max-width:125px}.entry-layout .grid{gap:0}}
.google-entry{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;padding-top:70px;padding-bottom:70px}.google-entry h1{font-size:clamp(32px,4vw,52px);line-height:1.12}.google-card{padding:36px}.google-card h2{font-size:28px}.google-card hr{border:0;border-top:1px solid #dbe0d6;margin:28px 0}.entry-steps{padding-left:24px;margin-top:32px}.entry-steps li{padding:10px 0 10px 8px}.entry-steps span{display:block;color:#687970;margin-top:5px}.logout-button{margin-top:20px}#login-status{font-size:14px;color:#8b3d29}@media(max-width:800px){.google-entry{grid-template-columns:1fr;gap:24px;padding-top:24px}.google-card{padding:24px}}


html{scroll-padding-top:24px}body{overflow-wrap:anywhere}h1,h2,h3{font-family:var(--font);letter-spacing:-.025em}h1{font-size:clamp(30px,4vw,48px);font-weight:700}input,textarea,select{border-color:var(--border)}.grid>*{min-width:0}button,.button{min-height:44px;max-width:100%;white-space:normal}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.welcome{border-color:var(--border)}.totalrow{gap:16px}.totalrow>*{min-width:0}.google-entry>*{min-width:0}.google-card hr{border-color:var(--border)}.google-card #google-button{min-height:44px}.entry-steps li{display:block}.entry-steps span{color:var(--text-secondary)}.skip-link{position:absolute;left:16px;top:-100px;background:var(--surface);padding:12px;z-index:10}.skip-link:focus{top:8px}#notice.error{border:1px solid #b42318}main:focus{outline:none}.portal-sidebar nav{flex-wrap:wrap;overflow:visible}.nav-item{white-space:normal}caption{text-align:left;font-weight:bold;padding-bottom:12px}.mobile-label{display:none}
@media(max-width:600px){header,main,footer{padding:18px}.line-grid{grid-template-columns:1fr}.google-card{padding:18px}.metrics{grid-template-columns:1fr}.metrics button{grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:16px}.metrics span{font-size:14px}.portal-sidebar nav{display:grid;grid-template-columns:1fr 1fr}.nav-item{padding:12px}.scroll{overflow:visible}table{min-width:0}thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}tbody,tr,td{display:block}tr{border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px}td{border:0;padding:6px 0;white-space:normal}.mobile-label{display:block;font-size:12px;color:var(--text-secondary)}.money{white-space:normal}.actions button{flex-basis:100%}.entry-steps{display:block}.totalrow{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
fieldset{min-width:0;border:1px solid var(--border);border-radius:8px;padding:20px;margin:20px 0}legend{padding:0 8px;font-weight:700}.wizard-steps{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.wizard-steps li{padding:8px 12px;background:var(--background-secondary);border-radius:6px;color:var(--text-secondary)}.wizard-steps [aria-current=step]{background:var(--brand);color:white}.payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.payment-summary dd{font-size:20px;margin-top:8px}.pre-wrap{white-space:pre-wrap}#draft-status{font-size:14px;color:var(--text-secondary)}@media(max-width:600px){fieldset{padding:14px}.wizard-steps{display:grid;grid-template-columns:1fr 1fr}.payment-summary{grid-template-columns:1fr}.payment-summary dd{margin-bottom:0}}

.error-text{color:#9b1c1c;font-weight:600}.payment-summary{align-items:start}select{max-width:100%}.request-row .error-text{font-size:14px}

#password-login{display:grid;gap:16px;margin:24px 0}#password-login label{display:grid;gap:8px}#password-login input{width:100%;min-height:48px}.login-help{margin:20px 0}.login-help summary{cursor:pointer;min-height:44px}.login-help p{font-size:14px;color:var(--text-secondary)}

.next-task{border-left:4px solid #234d3d;background:#F7F7F8}.next-task button{background:#234d3d;color:#fff}.line,.next-task{overflow-wrap:anywhere}.actions{flex-wrap:wrap}

.password-page{max-width:640px;margin:32px auto;padding:24px}

.form-feedback{padding:12px;border:1px solid #E5E7EB;border-radius:8px;background:#F7F7F8;color:#202123;overflow-wrap:anywhere}.form-feedback.error{border-color:#b42318;color:#8a1c13}.form-feedback:focus{outline:2px solid #234d3d;outline-offset:3px}

.transport-options{display:grid;gap:12px}.transport-option{display:flex;align-items:flex-start;gap:12px;padding:16px;margin:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:15px;cursor:pointer}.transport-option input{width:20px;min-width:20px;height:20px;margin:2px 0 0;accent-color:var(--brand)}.transport-option:has(input:checked){border-color:var(--brand);background:var(--background-secondary)}.transport-option:focus-within{outline:2px solid var(--brand);outline-offset:2px}
/* One order, two accessible workspaces. Shared records are rendered once. */
[hidden]{display:none!important}
.order-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
.order-tabs button{min-width:0;white-space:normal;overflow-wrap:anywhere;background:#F7F7F8;color:#202123;border:1px solid #E5E7EB}
.order-tabs button[aria-selected="true"]{background:var(--green,#214e40);color:#fff}
.order-shared,[role="tabpanel"],.portal-content{min-width:0;overflow-wrap:anywhere}
[role="tabpanel"]:focus-visible,.order-tabs button:focus-visible{outline:3px solid #28745b;outline-offset:3px}
@media(max-width:600px){.order-tabs button{padding:12px 8px;font-size:.95rem}.order-shared .actions{flex-wrap:wrap}}
.quote-editor{table-layout:fixed;width:100%}.quote-editor th,.quote-editor td{vertical-align:top;min-width:0;overflow-wrap:anywhere}.quote-editor input,.quote-editor select,.quote-editor textarea{width:100%;min-width:0;max-width:100%}.quote-editor output{font-weight:700}.quote-table-wrap{min-width:0;max-width:100%}.quote-editor label{font-size:.9rem}
@media(max-width:1000px){.quote-editor,.quote-editor tbody,.quote-editor tr,.quote-editor td{display:block;width:100%}.quote-editor thead{display:none}.quote-editor tr{border:1px solid #E5E7EB;border-radius:8px;margin:16px 0;padding:12px}.quote-editor td{border:0;padding:8px 0}.quote-editor caption{display:block}}
/* Transport forms and multiple loading stops share the neutral design tokens. */
#order-transport .grid,#order-loading .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#order-transport label,#order-loading label{min-width:0;overflow-wrap:anywhere}
#order-transport input,#order-loading input,#order-transport select,#order-loading select{min-width:0;max-width:100%;border-color:var(--border)}
#order-transport button,#order-loading button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){#order-transport .grid,#order-loading .grid{grid-template-columns:1fr}}
#order-production .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#order-production label,#order-production input,#order-production select{min-width:0;max-width:100%}
#order-production input,#order-production select{border-color:var(--border)}
#order-production button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:700px){#order-production .grid{grid-template-columns:1fr}}


/* A fixed currency suffix keeps numeric values suitable for server validation. */
.euro-input{position:relative;max-width:36rem}.euro-input input{padding-right:3rem}.euro-input>span{position:absolute;right:1rem;bottom:1rem;font-weight:700;pointer-events:none}.sourcing-terms li{margin-block:1rem;line-height:1.6}input[readonly]{background:#f1f3f3}#order-bank-ledger button{overflow-wrap:anywhere;max-width:100%}.order-tabs{flex-wrap:wrap}.order-tabs button{white-space:normal}p.eyebrow+h2{overflow-wrap:anywhere}

.request-row h3{overflow-wrap:anywhere}

.commission-note,.acceptance-confirmation{padding:1rem;border:1px solid #c6d9d0;border-radius:10px;background:#f1f7f4;margin-block:1rem}.payment-due{font-size:1.2rem;border-top:2px solid #234c3d;padding-block:1rem}

/* Compact operational workspace; neutral surfaces on every portal page. */

body{background:#fff}main{max-width:1600px}.admin-layout{grid-template-columns:208px minmax(0,1fr);gap:24px}.admin-layout .portal-sidebar{background:#f7f8f8;padding:16px;border-radius:14px}.portal-sidebar h2{font:700 17px/1.4 system-ui;letter-spacing:1px}.portal-sidebar>p{font-size:12px;color:var(--muted)}.card{background:#fff;border-color:#e2e5e7}.work-heading,.pagination,.preview-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.pagination{margin-top:20px}.work-list{min-width:900px;font-size:13px}.work-list td{vertical-align:top;padding:14px 10px}.work-list th{background:#f6f7f8;font-size:12px}.work-list td:first-child{min-width:170px}.work-list td:nth-child(2){max-width:270px}.work-list button{font-size:12px;padding:9px 13px}.quote-table-wrap{overflow-x:auto}.quote-editor{min-width:880px;width:100%;table-layout:fixed}.quote-editor th:nth-child(1){width:26%}.quote-editor th:nth-child(2){width:10%}.quote-editor th:nth-child(3){width:15%}.quote-editor th:nth-child(4){width:14%}.quote-editor th:nth-child(5){width:14%}.quote-editor th:nth-child(6){width:21%}.quote-editor th,.quote-editor td{padding:10px 8px;vertical-align:top}.quote-editor th{font:600 12px/1.4 system-ui;background:#f6f7f8}.quote-editor input,.quote-editor select,.quote-editor textarea{width:100%;min-width:0;padding:10px;font-size:13px;margin:4px 0;border-radius:7px}.quote-editor label{font-size:11px;margin:0}.quote-editor details{margin:8px 0;font-size:12px;padding:0;border:0}.quote-editor summary{font-size:12px;cursor:pointer}.quote-editor .numeric{font-variant-numeric:tabular-nums;padding-top:30px;white-space:nowrap}.quote-editor td:nth-child(5){font-weight:650}.quote-editor input[type=file]{font-size:11px}.quote-bottom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px;margin-top:24px}.quote-bottom .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-calculation{background:#f6f8f7;border:1px solid #dce5df;border-radius:12px;padding:22px;align-self:start;position:sticky;top:16px}.quote-calculation h3{margin-top:0;font-size:19px}.quote-calculation .totalrow{font-size:13px;gap:14px}.quote-calculation [data-quote-preview]{font-size:12px;border-top:1px solid #dce5df;margin-top:20px;padding-top:16px}.quote-calculation [data-quote-preview] h3{font-size:14px}.quote-actions{position:sticky;bottom:0;background:#fff;box-shadow:0 -8px 24px #172b2210;border-top:1px solid #e2e5e7;display:flex;gap:10px;flex-wrap:wrap;padding:16px 0;z-index:3;margin-top:20px}.quote-actions button{font-size:13px}.quote-actions [data-publish-quote]{margin-left:auto}.accounting-note{font-size:12px;margin:12px 0}.commission-note{font-size:12px;background:#f6f8f7}.order-progress{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);padding:0;margin:24px 0;gap:8px}.order-progress li{font-size:12px;color:#687773;border-top:3px solid #e5e9e7;padding-top:12px}.order-progress li span{display:block;font-size:15px;font-weight:700;margin-bottom:6px}.order-progress .done,.order-progress .active{border-color:#245743;color:#245743}.order-progress .active{font-weight:700}.quote-preview-dialog{width:min(960px,94vw);max-height:90vh;border:1px solid #d8dfdc;border-radius:16px;padding:28px;color:var(--text);background:#fff}.quote-preview-dialog::backdrop{background:#142a2255}.preview-heading{position:sticky;top:-28px;background:white;padding:12px 0;z-index:2}.preview-heading small{font-size:11px;letter-spacing:1px;color:#62736a}#operations-plan table{min-width:760px}#operations-plan input{min-width:0}.quote-editor .row-extra input,.quote-editor .row-extra textarea{font-size:12px}
@media(max-width:1100px){.quote-bottom{grid-template-columns:1fr}.quote-calculation{position:static}.admin-layout{grid-template-columns:170px minmax(0,1fr)}}
@media(max-width:760px){.admin-layout{grid-template-columns:1fr}.admin-layout .portal-sidebar{position:static}.admin-layout .portal-sidebar nav{display:flex;overflow-x:auto;gap:6px}.admin-layout .nav-item{white-space:nowrap;width:auto}.order-progress{grid-template-columns:repeat(3,1fr)}.quote-actions{position:static}.quote-actions button{width:100%;margin:0!important}.quote-bottom .grid{grid-template-columns:1fr}.quote-editor tr{display:table-row}.quote-editor td,.quote-editor th{display:table-cell}.quote-editor thead{display:table-header-group}.quote-preview-dialog{padding:16px}.preview-heading{top:-16px}}

/* Public policy centre */
.legal-page{max-width:1000px;margin:40px auto;padding:0 24px}.legal-page h1{font-size:clamp(30px,4vw,48px);line-height:1.15}.legal-page article section{margin:32px 0}.legal-page article p{line-height:1.8;max-width:80ch}.legal-page h2{font-size:22px;line-height:1.35}.legal-intro{font-size:19px;color:#53605d}.legal-toc{display:grid;gap:10px;padding:24px;background:#f1f3f4;border-radius:14px;margin:30px 0}.legal-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.legal-cards a{text-decoration:none;color:inherit}.legal-footer{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:32px;max-width:1280px;margin:60px auto 0;padding:40px 24px;border-top:1px solid #dce1e4;font-size:14px;line-height:1.8}.legal-footer nav{display:grid;gap:8px;align-content:start}.legal-brand{font-size:21px;letter-spacing:.13em;font-weight:700}.legal-inline{line-height:2}.sourcing-terms{background:#f1f3f4;border:1px solid #dce1e4;border-radius:12px;padding:20px;line-height:1.7}.legal-page section:target{scroll-margin-top:30px}@media(max-width:700px){.legal-footer,.legal-cards{grid-template-columns:1fr}.legal-footer{gap:24px}.legal-page{padding:0 18px}}@media print{.legal-footer,header,.legal-toc{display:none}.legal-page{max-width:none;margin:0}.legal-page a{color:inherit}}

/* Keep Google fallback icon compact while its stylesheet loads. */
#google-button svg{width:20px;height:20px;flex:none}

/* Responsive application layout; tokens are owned by design-system.css. */
body{font-family:var(--font);overflow-wrap:anywhere}header,main,footer{width:100%;min-width:0}h1,h2,h3{font-family:var(--font);text-wrap:balance}h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.035em}h2{font-size:clamp(23px,2.8vw,30px)}.grid,.line-grid,.quote-bottom{min-width:0}.grid>*{min-width:0}.google-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.google-card{min-width:0}.google-card #google-button{max-width:100%;overflow:hidden}.google-card form>button{width:100%}.google-card nav{display:flex;gap:12px;align-items:center}.google-card nav a{padding:10px;text-underline-offset:5px}.google-card nav a[aria-current=page]{font-weight:700;background:var(--background-secondary);border-radius:8px}.totalrow{gap:20px}.totalrow>*{min-width:0}.totalrow>:last-child{flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.scroll,.quote-table-wrap{max-width:100%;min-width:0;overscroll-behavior-x:contain}.quote-editor label,.quote-editor input,.quote-editor textarea,.quote-editor select{font-size:14px}.quote-editor input{min-height:46px}.quote-editor .numeric{padding-top:30px}.mobile-label{display:none}.card{border-color:var(--border)}.check{align-items:flex-start}.check input{min-height:20px;min-width:20px}.form-feedback{scroll-margin-block:24px}.actions button{white-space:normal}.status-banner{padding:16px;background:var(--background-secondary)}
@media(max-width:950px){.admin-layout{grid-template-columns:1fr}.portal-sidebar nav,.admin-layout .portal-sidebar nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.nav-item,.admin-layout .nav-item{white-space:normal;width:100%;padding:12px 10px;font-size:14px}.google-entry{grid-template-columns:1fr;gap:20px;padding-block:28px}.google-entry h1{font-size:36px}.google-entry .entry-steps{display:none}.google-card{margin:0}}
@media(max-width:760px){header,main,footer{padding:20px 16px}.portal-sidebar nav,.admin-layout .portal-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.google-card{padding:20px 16px}.metrics{grid-template-columns:1fr}.metrics button{display:flex;align-items:center;gap:16px}.metrics span{font-size:14px}.quote-bottom{grid-template-columns:minmax(0,1fr)}.quote-calculation{padding:16px}.work-heading,.pagination,.preview-heading{flex-wrap:wrap}.request-row>button{max-width:100%}.quote-editor{table-layout:auto}.responsive-table,.quote-editor.responsive-table,#operations-plan .responsive-table{min-width:0;width:100%;display:block}.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.responsive-table tbody{display:block}.responsive-table tbody tr,.quote-editor.responsive-table tbody tr{display:block;border:1px solid var(--border);border-radius:10px;padding:12px;margin-block:12px;background:var(--surface)}.responsive-table tbody td,.quote-editor.responsive-table tbody td{display:block;width:auto!important;max-width:none!important;min-width:0!important;padding:8px 0;text-align:left;white-space:normal;overflow-wrap:anywhere}.responsive-table .mobile-label{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:4px}.responsive-table .numeric{padding-top:8px}.responsive-table input,.responsive-table select,.responsive-table textarea{font-size:16px}.quote-editor .row-extra input,.quote-editor .row-extra textarea{font-size:16px}.quote-preview-dialog{max-width:calc(100vw - 24px)}.order-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-layout{display:block}.entry-form{padding:20px 16px}.totalrow{font-size:14px;gap:12px}.amount{font-size:27px}.google-card nav{flex-wrap:wrap}.money{white-space:normal}.google-entry h1 br{display:none}}

@media(max-width:760px){.responsive-table td:has(>label)>.mobile-label{display:none}.quote-editor textarea[name=name]{min-height:110px;line-height:1.5}}

.portal-content{container-type:inline-size}
@container(max-width:760px){.responsive-table,.quote-editor.responsive-table,#operations-plan .responsive-table{min-width:0;width:100%;display:block}.responsive-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.responsive-table tbody{display:block}.responsive-table tbody tr,.quote-editor.responsive-table tbody tr{display:block;border:1px solid var(--border);border-radius:10px;padding:12px;margin-block:12px;background:var(--surface)}.responsive-table tbody td,.quote-editor.responsive-table tbody td{display:block;width:auto!important;max-width:none!important;min-width:0!important;padding:8px 0;text-align:left;white-space:normal;overflow-wrap:anywhere}.responsive-table .mobile-label{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:4px}.responsive-table .numeric{padding-top:8px}.responsive-table input,.responsive-table select,.responsive-table textarea{font-size:16px}.quote-editor .row-extra input,.quote-editor .row-extra textarea{font-size:16px}.quote-actions{position:static;display:grid;grid-template-columns:1fr}.quote-actions [data-publish-quote]{margin-left:0}.responsive-table td:has(>label)>.mobile-label{display:none}.quote-editor textarea[name=name]{min-height:110px;line-height:1.5}}


/* Prompt 7: unified customer navigation, using the shared stage 6 tokens. */
.new-request-button{width:100%;margin-bottom:1rem}
.request-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.request-filters [aria-pressed="true"]{background:var(--accent,#234D3D);color:#fff;border-color:var(--accent,#234D3D)}
.request-row>div{min-width:0;width:100%}
.request-row p,.next-task p{overflow-wrap:anywhere}
.request-row .next-task{margin-top:1rem}
@media(min-width:900px){.portal-layout:not(.admin-layout)>.portal-sidebar{position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow:auto}}
@media(max-width:899px){.portal-layout:not(.admin-layout)>.portal-sidebar{position:sticky;top:0;z-index:5;background:var(--surface,#fff);padding:.5rem}.portal-layout:not(.admin-layout)>.portal-sidebar nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.35rem}.portal-layout:not(.admin-layout)>.portal-sidebar .nav-item{flex:0 0 auto;width:auto}.new-request-button{margin:0 0 .35rem}}


.sidebar-company{padding:0 16px 20px;overflow-wrap:anywhere}.sidebar-company span{display:block;font-size:.8rem;color:#586760;margin-bottom:6px}.sidebar-company strong{display:block;font-size:1.1rem;line-height:1.4}.company-details dd{margin:4px 0 18px;overflow-wrap:anywhere}.company-details dt{font-weight:600}.request-document-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.request-document-tabs button{text-align:left;flex:0 1 230px;max-width:100%;overflow-wrap:anywhere}.request-document-tabs span{display:block;font-size:.8rem;margin-top:6px}.request-document-tabs [aria-pressed="true"]{background:#204d3e;color:#fff;border-color:#204d3e}


/* Google owns the sign-in control; never turn its empty fallback into a second button. */
#google-button{max-width:100%;min-height:44px;margin:16px 0;overflow:hidden}
#google-button svg{width:20px;height:20px;flex:none}
#google-button iframe{border:0;max-width:calc(100% + 20px)}
#google-button [role="button"]:has(svg){position:relative;max-width:100%;min-height:44px;border:1px solid #dadce0;border-radius:6px;background:#fff;color:#3c4043;font:500 14px Arial,sans-serif;box-sizing:border-box;cursor:pointer;padding:10px 12px}
#google-button [role="button"]>div:has(svg){display:flex;align-items:center;justify-content:center;gap:12px}
#google-button [role="button"]:empty,#google-button [role="button"][aria-hidden="true"]{display:none!important}
#google-button #button-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#google-button [role="button"]:focus-visible{outline:3px solid #155d42;outline-offset:3px}
#google-status:empty,#login-status:empty{display:none}
/* Responsive entry and workspace layout. */
.google-entry{max-width:1240px;grid-template-columns:minmax(0,1fr) minmax(340px,480px);gap:clamp(28px,5vw,72px);padding-top:clamp(28px,5vh,64px);padding-bottom:48px;align-items:center}
.google-entry h1{font-size:clamp(30px,3.6vw,48px);line-height:1.14;max-width:650px}
.google-entry .entry-steps{padding:0;margin:28px 0 0}.google-entry .entry-steps li{padding:14px 0}.google-entry .entry-steps span{font-size:14px;letter-spacing:0;line-height:1.5}
.google-card{width:100%;margin:0;padding:clamp(22px,3vw,36px);box-shadow:0 12px 40px #173e2910}
.google-card nav{display:flex;align-items:center;gap:8px;margin-bottom:24px}.google-card nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;text-decoration:none;border-radius:8px}.google-card nav a[aria-current="page"]{background:#eaf2ed;color:#204d3e;font-weight:700}
.google-card h2{font-size:clamp(24px,2.4vw,30px);margin:12px 0}.google-card input{min-height:48px;font-size:16px}.google-card #auth-submit{width:100%;min-height:48px;font-size:16px}.google-card #google-section{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.google-card #google-section>.muted{font-size:14px}.google-card hr{margin:22px 0}.google-card #login-status:not(:empty){padding:12px;border-radius:8px;background:#f5f7f5}
.portal-layout>*{min-width:0}.work-heading,.pagination,.preview-heading{flex-wrap:wrap}.portal-content img{max-width:100%;height:auto}.portal-content input,.portal-content select,.portal-content textarea{max-width:100%}.quote-table-wrap,.scroll{max-width:100%}
@media(max-width:980px){.google-entry{grid-template-columns:1fr;max-width:620px;gap:28px}.google-card{grid-row:1}.google-entry>section:first-child{grid-row:2}.google-entry h1{font-size:32px}.google-entry .entry-steps{display:grid;gap:8px}.admin-layout{grid-template-columns:1fr}.admin-layout .portal-sidebar{position:static}.admin-layout .portal-sidebar nav{display:flex;flex-wrap:wrap;gap:6px}.admin-layout .nav-item{flex:1 1 160px}.quote-bottom{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.google-entry{padding:20px 16px 32px}.google-card{padding:22px 18px;border-radius:16px}.google-card nav a{flex:1}.google-entry h1{font-size:29px}.google-entry>section:first-child{padding:0 4px}.google-card h2{font-size:25px}.google-card #google-section{margin-top:20px}.google-card p{line-height:1.55}.google-card .eyebrow{font-size:10px;letter-spacing:1.5px}.google-card hr+p a{display:inline-block;padding:4px 0}.portal-layout:not(.admin-layout)>.portal-sidebar{position:static}.portal-sidebar nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important}.portal-sidebar .nav-item{min-width:0;white-space:normal!important;font-size:13px}.quote-editor{min-width:0;table-layout:auto}.quote-editor tbody,.quote-editor tr,.quote-editor td{display:block}.quote-editor thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.quote-editor tr{border:1px solid var(--line);padding:14px;border-radius:10px;margin:12px 0}.quote-editor td{width:auto!important;padding:7px 0;border:0}.quote-editor .mobile-label{display:block;margin-bottom:6px}.quote-editor .numeric{padding-top:8px}.quote-editor input,.quote-editor select,.quote-editor textarea{font-size:16px;min-height:44px}.quote-actions{position:static}.quote-actions button{width:100%;min-height:48px}.quote-calculation{padding:18px}.work-heading>*{max-width:100%}.pagination{gap:8px}.pagination button{flex:1}.admin-entry{margin:20px auto;padding:16px}.admin-entry .card{padding:22px 18px}.grid{grid-template-columns:minmax(0,1fr)}dialog{max-width:calc(100vw - 24px);max-height:90dvh}.order-progress{gap:12px;font-size:12px}}

/* Offer summary and private product gallery */
.offer-reference{font-size:.85rem;color:#58666c;overflow-wrap:anywhere}
.offer-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.offer-highlight{border:1px solid #dce5df;border-radius:12px;background:#f6f9f7;padding:14px 16px;min-width:0}
.offer-highlight>span{display:block;font-size:.75rem;font-weight:700;color:#52665a;margin-bottom:6px}
.offer-highlight strong{display:block;font-size:.95rem;overflow-wrap:anywhere}
.offer-highlight small{display:block;margin-top:7px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.offer-photos{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;max-width:340px}
.offer-photo{margin:0;width:144px;max-width:100%}
button.offer-photo-button{display:block;position:relative;padding:0!important;width:144px!important;max-width:100%;height:108px;min-height:0;border:1px solid #dce5df;border-radius:10px;overflow:hidden;background:#edf2ef;cursor:zoom-in}
.offer-photo-button img{display:block;width:100%;height:100%;object-fit:cover}
.offer-photo-button:focus-visible{outline:3px solid #247548;outline-offset:3px}
.photo-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#405448;background:#edf2ef;padding:8px}
.offer-photo figcaption{font-size:11px;line-height:1.4;color:#52665a;margin-top:5px;overflow-wrap:anywhere}
.offer-photo figcaption span{display:block}
dialog.photo-lightbox{box-sizing:border-box;width:fit-content;max-width:94vw;max-height:94dvh;padding:16px;border:0;border-radius:16px;overflow:auto;background:white;box-shadow:0 24px 80px #0005}
.photo-lightbox::backdrop{background:rgba(12,24,19,.78)}
.photo-lightbox>button{display:block;margin:0 0 12px auto;min-height:44px}
.photo-lightbox>img{display:block;max-width:100%;width:auto;height:auto;max-height:72dvh;object-fit:contain;margin:auto}
.photo-lightbox>p{font-size:13px;margin:12px 0 0;overflow-wrap:anywhere}
@media(max-width:600px){.offer-highlights{grid-template-columns:1fr;gap:8px}.offer-highlight{padding:12px 14px}.offer-photos{gap:10px}.offer-photo{width:128px}button.offer-photo-button{width:128px!important;height:96px}dialog.photo-lightbox{padding:12px}}
