:root{color-scheme:light;--forest:#173e35;--forest-dark:#102e29;--leaf:#376b54;--soft:#e8eee7;--cream:#f7f8f3;--paper:#fff;--ink:#172720;--muted:#62736b;--line:#dce4dc;--danger:#9b3935;--shadow:0 14px 38px rgba(28,57,42,.06)}
*{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.52 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"Noto Sans SC",sans-serif}
a{color:inherit;text-decoration:none}a:hover{color:var(--leaf)}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 44px));margin-inline:auto}.main-content{min-height:calc(100vh - 180px);padding:43px 0 76px}
.topbar{background:var(--paper);border-bottom:1px solid var(--line)}.topbar-inner{min-height:72px;display:flex;align-items:center;gap:34px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--forest);font-size:21px;font-weight:760;letter-spacing:-.055em;white-space:nowrap}.brand:hover{color:var(--forest)}.brand-mark{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:var(--forest);color:#e7f1df;font-size:16px;font-weight:400}.nav-main{display:flex;align-items:center;gap:24px;flex:1}.nav-main a{font-size:14px;font-weight:650;color:#41534a}.nav-main a:hover{color:var(--forest)}.account-nav{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:13px;color:var(--muted)}.account-nav form{margin:0}.account-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{border:0;background:none;color:var(--forest);padding:6px 0;font-weight:700}.text-button:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:22px 0 32px;color:var(--muted);font-size:12px}
.message-stack{padding-top:16px}.message{padding:13px 16px;border:1px solid #c5d7c9;background:#eff6ef;color:#1d5136;border-radius:8px;margin:0 0 10px}.message-error,.message-danger{border-color:#f1c4c0;background:#fff1ef;color:var(--danger)}.message-warning{border-color:#ead9aa;background:#fff9e7;color:#765c19}
h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4.8vw,48px);line-height:1.12;letter-spacing:-.05em;font-weight:720;margin-bottom:12px}h2{font-size:23px;line-height:1.25;letter-spacing:-.028em;font-weight:700;margin-bottom:14px}h3{font-size:18px;line-height:1.3;margin-bottom:4px}.eyebrow,.section-label,.section-label{display:block;color:var(--leaf);letter-spacing:.16em;font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:13px}.lead{max-width:690px;color:var(--muted);font-size:16px;margin-bottom:0}.muted{color:var(--muted)}.small{font-size:13px}.fine-print{font-size:12px;color:var(--muted);margin:18px 0 0}.back-link{display:block;color:var(--leaf);font-size:13px;font-weight:700;margin-bottom:22px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:33px}.heading-note,.number-tag{color:var(--leaf);font-weight:700;font-size:13px;white-space:nowrap}.number-tag{padding:10px 13px;background:var(--soft);border-radius:7px}.action-group{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.section-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.section-heading h2{margin:0}.section-block{margin:33px 0 40px}.section-block>h2{margin-bottom:18px}
.button{border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:43px;padding:9px 17px;border-radius:7px;font-weight:730;font-size:14px;white-space:nowrap}.button-primary{background:var(--forest);color:#fff}.button-primary:hover{background:var(--forest-dark);color:#fff}.button-secondary{background:var(--paper);border-color:var(--line);color:var(--forest)}.button-secondary:hover{border-color:var(--leaf);color:var(--forest)}.button-danger{background:#fff4f2;border-color:#e4c0bb;color:var(--danger)}.button-danger:hover{background:#ffe8e4;color:var(--danger)}.text-link{color:var(--leaf);font-weight:720;font-size:14px}.text-link:hover{text-decoration:underline}.full-width{width:100%}
.auth-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,7vw,104px);align-items:center;padding:clamp(18px,5vw,58px) 0}.auth-intro{position:relative;min-height:410px;overflow:hidden;padding:28px 26px 140px 0}.auth-intro h1{font-size:clamp(40px,5.8vw,65px);max-width:590px;margin:0 0 22px}.auth-intro h1 em{font-style:normal;color:var(--leaf)}.auth-intro p{font-size:17px;color:var(--muted);max-width:460px}.auth-illustration{position:absolute;bottom:-180px;left:0;width:550px;height:270px;pointer-events:none}.arch{position:absolute;bottom:0;border-radius:50% 50% 0 0}.arch-one{width:450px;height:260px;background:#dfeadd;left:0;transform:rotate(-13deg)}.arch-two{width:270px;height:300px;background:#bfd2bc;left:210px;transform:rotate(14deg)}.sprig{position:absolute;top:8px;left:150px;color:var(--forest);font-size:64px}.auth-panel{background:var(--paper);border:1px solid var(--line);padding:clamp(26px,4vw,45px);border-radius:14px;box-shadow:var(--shadow)}.auth-panel h2{font-size:29px}.auth-panel .muted{font-size:14px;margin-bottom:27px}.narrow-page{max-width:640px;margin:25px auto}.narrow-page .lead{margin-bottom:25px}
.stack-form{display:grid;gap:10px}.stack-form label,.stack-form p>label{display:block;font-size:13px;font-weight:730;color:var(--forest);margin-bottom:4px}.stack-form input:not([type=checkbox]):not([type=radio]),.stack-form select,.stack-form textarea,.quantity-input{width:100%;min-height:42px;border:1px solid #c9d6cc;background:#fff;border-radius:7px;color:var(--ink);padding:9px 11px;outline-offset:2px}.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.quantity-input:focus{border-color:var(--leaf);outline:2px solid rgba(55,107,84,.18)}.stack-form textarea{min-height:95px;resize:vertical}.stack-form p{margin:0 0 8px}.stack-form ul{margin:4px 0 8px;padding-left:18px;color:var(--muted);font-size:13px}.stack-form .errorlist{color:var(--danger)}.stack-form input[type=checkbox]{width:17px;height:17px;margin:0 7px 0 0;vertical-align:middle;accent-color:var(--forest)}.stack-form label:has(input[type=checkbox]){padding:5px 0}.stack-form select[multiple]{height:auto;min-height:130px}.form-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:27px 29px;box-shadow:var(--shadow)}.form-card h2{margin-bottom:20px}.max-form{max-width:740px}.editor-layout{max-width:920px;display:grid;gap:17px}.editor-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:7px}.thumbnail-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.thumbnail-row img{width:90px;height:90px;object-fit:cover;border-radius:6px}
.catalog-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:31px;align-items:start}.filter-panel{position:sticky;top:18px;border-top:2px solid var(--forest);padding:15px 0}.filter-title{font-size:13px;font-weight:800;margin:0 0 11px}.filter-link{display:block;padding:8px 10px;color:var(--muted);font-size:14px;border-radius:6px}.filter-link:hover,.filter-link.selected{background:var(--soft);color:var(--forest);font-weight:700}.filter-link-parent{font-weight:730;margin-top:5px}.filter-link-child{padding-left:19px;font-size:13px}.category-parent{color:#839489;font-weight:500}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden;display:flex;flex-direction:column}.product-photo{display:block;aspect-ratio:1.15;overflow:hidden;background:#e4eadf}.product-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.product-photo:hover img{transform:scale(1.035)}.photo-placeholder{height:100%;width:100%;min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(135deg,#e5eddf,#d2dfd2);color:var(--leaf);font-size:12px}.photo-placeholder span:first-child{font-size:48px;line-height:1.1}.product-copy{padding:18px;display:flex;flex-direction:column;flex:1}.product-overline{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--leaf);margin-bottom:8px}.product-copy h2{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin-bottom:8px;min-height:46px}.card-title-link:hover{color:var(--leaf)}.product-copy .muted{font-size:13px;min-height:19px}.quantity-label{display:block;font-size:13px;font-weight:700;margin:16px 0 6px;margin-top:auto;padding-top:15px}.quantity-input{max-width:150px}.catalog-action{background:var(--forest);color:#fff;border-radius:9px;margin-top:22px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.catalog-action p{margin:0;font-size:13px;color:#dbe8dc}.catalog-action .button-primary{background:#fff;color:var(--forest)}.catalog-action .button-primary:hover{background:#edf3ea}.empty-state{padding:54px 28px;text-align:center;background:var(--paper);border:1px dashed #bacab9;border-radius:10px;color:var(--muted)}.empty-state h2{color:var(--forest)}.empty-state p{margin-bottom:0}.empty-state.compact{padding:25px}
.detail-layout{display:grid;grid-template-columns:1fr minmax(280px,.72fr);gap:35px;align-items:start}.detail-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-image{aspect-ratio:1;background:#e4eadf;border-radius:9px;overflow:hidden}.detail-image:first-child{grid-column:span 2;aspect-ratio:1.35}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-purchase{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:30px;position:sticky;top:20px}.detail-purchase h2{font-size:27px}.detail-purchase .stack-form{margin-top:34px}.detail-purchase .button{margin-top:12px}
.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:9px}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{padding:15px 17px;background:#f0f4ef;color:#53665a;font-size:11px;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}td{padding:17px;border-top:1px solid var(--line);vertical-align:middle}td strong{font-weight:700}.align-right{text-align:right}.empty-row{text-align:center;color:var(--muted);padding:35px}.item-secondary{display:block;color:var(--muted);font-size:12px;margin-top:3px}.selection-cell{display:flex;align-items:center;gap:12px;min-width:190px}.table-thumbnail{flex:none;width:58px;height:58px;border-radius:6px;object-fit:cover;background:#e4eadf}.status-pill{display:inline-flex;align-items:center;white-space:nowrap;border-radius:99px;padding:4px 9px;font-size:11px;font-weight:760;color:#7b601d;background:#fff5dd}.status-good{color:#326749;background:#e7f4e9}.status-quiet{color:#596c60;background:#eff2ed}.quote-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:16px}.quote-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:15px}.quote-heading h3{margin:0}.quote-panel .table-wrap{border:0;border-radius:0}
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.summary-item{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:21px 23px}.summary-item span{display:block;color:var(--muted);font-size:13px}.summary-item strong{display:block;color:var(--forest);font-size:29px;line-height:1.2;margin-top:9px;font-weight:760;letter-spacing:-.035em}.meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 25px}.meta-grid dt{font-size:12px;color:var(--muted);margin-bottom:4px}.meta-grid dd{font-weight:680;margin:0}.detail-panel{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:25px 27px;margin:18px 0}.two-column{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:20px;align-items:start}.activity-list{margin:0;padding:0;list-style:none}.activity-list li{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.activity-list li:last-child{border-bottom:0}.activity-time{color:var(--muted);white-space:nowrap;min-width:106px}.credentials-box{padding:19px;background:#edf4ec;border:1px solid #cbdcc9;border-radius:8px;display:grid;gap:6px;margin-bottom:20px}.credentials-box code{font-size:18px;font-weight:750;user-select:all;word-break:break-all}.warn-inline{font-size:12px;color:var(--muted)}.inline-form{display:inline-block;margin:0}.number-input{width:98px;min-width:85px;border:1px solid #c9d6cc;border-radius:6px;padding:8px 9px}.reason-input{min-width:160px;width:100%;border:1px solid #c9d6cc;border-radius:6px;padding:8px 9px}.quote-actions{display:flex;align-items:center;gap:10px;margin-top:19px;flex-wrap:wrap}.note-entry{white-space:pre-wrap}
@media(max-width:960px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{gap:25px}.catalog-layout{grid-template-columns:170px minmax(0,1fr)}.two-column{grid-template-columns:1fr}}
@media(max-width:700px){.container{width:min(100% - 28px,1180px)}.topbar-inner{min-height:64px;flex-wrap:wrap;gap:8px 16px;padding:13px 0}.brand{font-size:19px}.nav-main{order:3;width:100%;overflow-x:auto;gap:17px;white-space:nowrap;flex:none;padding-top:5px}.account-nav{margin-left:auto}.account-name{display:none}.main-content{padding:29px 0 50px}.page-heading{align-items:start;flex-direction:column;gap:14px}.page-heading h1{font-size:34px}.catalog-layout{display:block}.filter-panel{position:static;border:0;margin-bottom:16px;padding:0;display:flex;gap:7px;overflow-x:auto;align-items:center}.filter-title{display:none}.filter-link{flex:none;background:#eef3ec;border-radius:99px;padding:8px 11px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-copy{padding:12px}.product-copy h2{font-size:15px;min-height:40px}.product-photo{aspect-ratio:1}.catalog-action{flex-direction:column;align-items:stretch}.catalog-action .button{width:100%}.auth-layout{display:block}.auth-intro{min-height:0;padding:15px 0 30px}.auth-intro h1{font-size:40px}.auth-intro p{font-size:15px}.auth-illustration{display:none}.auth-panel{padding:25px}.detail-layout{display:block}.detail-purchase{position:static;margin-top:15px}.detail-images{gap:7px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.summary-item{padding:15px 10px}.summary-item span{font-size:11px}.summary-item strong{font-size:23px}.meta-grid{grid-template-columns:repeat(2,1fr)}.form-card,.detail-panel{padding:21px 17px}.site-footer{display:block}.site-footer span{display:block;margin-bottom:6px}}
@media(max-width:470px){.product-grid{grid-template-columns:1fr}.product-photo{aspect-ratio:1.3}.product-copy h2{min-height:0}.summary-grid{grid-template-columns:1fr}.summary-item{display:flex;align-items:center;justify-content:space-between}.summary-item strong{margin:0}.meta-grid{grid-template-columns:1fr}.quote-heading{display:block}.action-group{justify-content:flex-start}.action-group .button{font-size:12px;padding:8px 10px}}
/* Customer category tree and public product specification */
.filter-group{margin:4px 0 11px}.filter-children{border-left:1px solid var(--line);margin-left:14px;padding-left:5px}.filter-link-parent.selected-parent{color:var(--forest);font-weight:760}.filter-link-child{padding-left:13px}.product-spec{color:var(--muted);font-size:13px;margin:0 0 2px;line-height:1.45}.catalog-results{min-width:0}
@media(max-width:700px){.filter-group{display:contents}.filter-children{display:contents}.filter-link-child{padding:8px 11px}}
/* Sales product list and multi-image upload previews */
.product-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end;margin-bottom:24px;padding:19px}.filter-field label{display:block;font-size:12px;font-weight:740;margin-bottom:6px;color:var(--forest)}.filter-field select{width:100%;min-height:42px;padding:8px 10px;border:1px solid #c9d6cc;border-radius:7px;background:#fff;color:var(--ink)}.filter-actions{display:flex;gap:12px;align-items:center;grid-column:1/-1}.product-actions{display:flex;gap:12px;align-items:center;white-space:nowrap}.text-button{border:0;background:none;cursor:pointer;font:inherit;padding:0}.danger-link{color:#a34034}.thumbnail-card{display:flex;flex-direction:column;gap:4px;align-items:center;font-size:11px;color:var(--muted)}
@media(max-width:900px){.product-filters{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media(max-width:530px){.product-filters{grid-template-columns:1fr}.filter-actions{grid-column:1}}
/* Visible customer selection review, including products chosen in other categories. */
.selection-summary:not([hidden]){margin-top:20px;padding:16px 18px;background:#eef4ed;border:1px solid #cfddcf;border-radius:9px;color:var(--forest)}
.selection-summary>strong{display:block;font-size:14px;margin-bottom:8px}
.selection-summary ul{list-style:none;margin:0;padding:0;max-height:290px;overflow:auto}
.selection-summary li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:1px solid #d7e3d6;font-size:13px}
.selection-summary li span{min-width:0;overflow-wrap:anywhere}
.selection-summary .text-button{flex:none;color:var(--danger);font-size:12px}
.selection-summary p{margin:8px 0 0}
.selection-summary .selection-error{color:var(--danger);font-weight:700;font-size:13px}
