:root{--red:#c92026;--ink:#202329;--muted:#616770;--line:#e3e5e8;--paper:#f6f7f8;--green:#176549;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{border:0;border-radius:10px;padding:13px 18px;min-height:46px;background:var(--red);color:white;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:wait}button.secondary,.button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}button.quiet{background:transparent;color:var(--muted)}a{color:var(--red)}:focus-visible{outline:3px solid #167abc;outline-offset:3px}header{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1160px)/2));gap:20px}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:1.7px}.brand img{width:126px;background:var(--red);padding:6px;border-radius:3px}.brand span{border-left:1px solid var(--line);padding-left:20px}#account{display:flex;align-items:center;gap:12px;font-size:14px}main{max-width:1160px;margin:0 auto;padding:40px 24px 120px}h1{font-size:36px;letter-spacing:-1.3px;line-height:1.15;margin:10px 0 14px}h2{font-size:22px;letter-spacing:-.5px}h3{font-size:17px;margin:10px 0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1.6px;color:var(--red);font-weight:750}p{line-height:1.6;color:var(--muted)}.muted,small{color:var(--muted)}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.hero p{margin-bottom:0}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:24px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.quotes{display:grid;gap:12px}.quote-card{display:flex;justify-content:space-between;align-items:center;gap:20px;text-decoration:none;color:var(--ink);padding:22px 24px;transition:border-color .15s}.quote-card:hover{border-color:var(--red)}.quote-card h3{margin:5px 0}.badge{display:inline-block;border-radius:5px;padding:4px 7px;font-size:11px;font-weight:700;background:#f0f1f3;color:#585e65}.badge.demo{background:#fff2db;color:#805000}.badge.version{background:#fcebed;color:#a3151b}.amount{font-size:21px;font-weight:730;white-space:nowrap}.empty{padding:60px 24px;text-align:center;border:1px dashed #cdd1d6;background:white;border-radius:16px}.empty .symbol{font-size:38px;color:var(--red)}.login{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:950px;margin:48px auto}.login h1{font-size:48px;max-width:460px}.login .card{padding:32px}.steps{display:grid;gap:20px;margin:30px 0}.step{display:flex;align-items:center;gap:14px;color:var(--muted)}.step b{background:#fbe5e6;color:var(--red);width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.login .button,.login button.primary{width:100%}.code{font-size:28px;letter-spacing:9px;text-align:center}label{display:block;font-size:13px;font-weight:650;margin:18px 0 7px}input,select,textarea{border:1px solid #ccd0d6;border-radius:9px;background:white;color:var(--ink);padding:12px;width:100%;min-height:46px}textarea{resize:vertical;min-height:85px}.searchbar{display:grid;grid-template-columns:1fr 260px;gap:12px;margin:24px 0}.searchbar label{margin:0}.product{display:flex;flex-direction:column;padding:18px;min-width:0}.product figure{margin:0;background:#fafafa;height:170px;display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden}.product img{max-width:100%;max-height:100%;object-fit:contain}.product h3{line-height:1.35;flex:1}.product .bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:18px}.product .amount{font-size:18px}.product small{display:block;font-size:12px;margin-top:5px}.product button{padding:10px 16px}.product .code-label{font-size:11px;letter-spacing:.6px;margin-top:16px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.summary{position:sticky;top:24px}.sumrow{display:flex;justify-content:space-between;gap:12px;margin:14px 0;color:var(--muted)}.sumrow.total{border-top:1px solid var(--line);padding-top:18px;color:var(--ink);font-size:20px;font-weight:750}.summary button,.summary .button{width:100%;margin-top:12px}.demo-note{background:#fff8eb;border:1px solid #efdfbc;border-radius:10px;padding:12px;font-size:12px;line-height:1.6;color:#785420}.line{display:grid;grid-template-columns:1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.line:first-child{padding-top:0}.line:last-child{border:0}.line p{margin:5px 0;font-size:13px}.line input{width:84px;text-align:center}.line .line-controls{display:flex;align-items:center;gap:4px}.line .line-controls label{margin:0}.line .line-controls button{font-size:19px;padding:9px 12px;background:#f1f2f4;color:var(--ink)}.line-right{text-align:right}.line-right .amount{font-size:17px}.history{padding:0;list-style:none}.history li{padding:14px 0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.history a{text-decoration:none;font-weight:600}.history small{display:block;margin-top:5px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.back{display:inline-block;margin-bottom:20px;text-decoration:none;font-size:14px}.full{width:100%}#notice{position:fixed;top:94px;left:50%;transform:translateX(-50%);z-index:5;max-width:calc(100% - 32px);width:max-content;border-radius:10px;font-size:14px}#notice:not(:empty){padding:14px 20px;box-shadow:0 6px 25px #0002;background:#202329;color:white}nav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);display:flex;background:var(--ink);padding:6px;border-radius:15px;box-shadow:0 6px 30px #0002;gap:4px;z-index:4}nav[hidden]{display:none}nav a{color:#d3d5d9;padding:13px 24px;border-radius:10px;text-decoration:none;font-size:14px;white-space:nowrap}nav a.active{color:var(--ink);background:white;font-weight:700}.loading{text-align:center;padding:70px;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10;background:white;padding:14px}.history-banner{padding:14px;border-radius:10px;background:#eaf2fc;margin:14px 0;color:#274766}.spaced{margin-top:28px}.error{color:#a3151b}.login-note{font-size:12px;margin-bottom:0}.quote-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media(max-width:760px){header{height:72px;padding:0 18px}.brand{gap:10px}.brand img{width:105px}.brand span{display:none}#account span{display:none}main{padding:26px 18px 115px}h1{font-size:30px}.hero{align-items:start;flex-direction:column;gap:8px;margin-bottom:24px}.hero .button{width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product{padding:12px}.product figure{height:130px}.product h3{font-size:14px}.product .bottom{align-items:start;flex-direction:column;gap:12px}.product button{width:100%}.product .amount{font-size:16px}.searchbar{grid-template-columns:1fr;gap:10px}.workspace{grid-template-columns:1fr}.summary{position:static}.quote-card{padding:18px;gap:12px}.quote-card .amount{font-size:17px}.quote-card h3{font-size:16px}.card{padding:20px}.login{grid-template-columns:1fr;gap:12px;margin:10px auto}.login h1{font-size:38px}.login .card{padding:24px}.steps{gap:12px;margin:22px 0}.login-intro>p{max-width:450px}.line{gap:8px}.line h3{font-size:15px}.line .line-controls button{padding:8px 10px}.line input{width:62px}nav{bottom:0;width:100%;border-radius:0;justify-content:space-around;padding-bottom:max(8px,env(safe-area-inset-bottom))}nav a{padding:14px 20px}#notice{top:78px}.toolbar{width:100%}.toolbar>*{flex:1;text-align:center}.summary .total{font-size:22px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:760px){.login .steps{display:none}.login h1{font-size:34px}.login .card{margin-top:12px}.login-intro>p{font-size:15px}}
/* Faceted catalogue: compact controls, progressive filters, touch-sized chips. */
.catalogue-hero{margin-bottom:16px}.catalogue-hero h1{font-size:30px}.catalogue-hero p{margin:6px 0}.searchbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:16px 0 10px}.searchbar label{position:static;font-size:13px}.searchbar input{margin-top:7px}.chips,.refinements{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.chips:empty,.refinements:empty{display:none}.chip{min-height:44px;padding:8px 12px;background:#fcebed;color:#9b1820;border:1px solid #efd0d2;font-size:13px;max-width:100%;overflow-wrap:anywhere}.chip span{font-size:20px}.catalogue-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;margin:10px 0 14px;align-items:start}.catalogue-tools>label{margin:0}.catalogue-tools select{margin-top:7px}details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:22px;min-width:0}summary{cursor:pointer;font-weight:650;padding:13px 16px;min-height:46px}summary:focus-visible{outline:3px solid #167abc}.facet-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px 16px}.facet-fields label{margin:0;min-width:0}.refinements>span{font-size:12px;color:var(--muted)}button.suggestion{background:white;color:var(--ink);border:1px solid var(--line);min-height:44px;padding:8px 12px;font-size:13px}button.suggestion small{background:#f1f2f4;border-radius:4px;padding:3px 5px}.results-heading{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.catalogue-note{font-size:12px;margin:0 0 16px}.catalogue-specs{font-size:12px;margin:4px 0}.product h3{overflow-wrap:anywhere}.product .code-label{overflow-wrap:anywhere}.facet-fields select{max-width:100%}button:disabled{cursor:default}@media(max-width:760px){.catalogue-tools{grid-template-columns:1fr;gap:10px}.catalogue-tools details{margin-top:0}.searchbar button{padding:12px}.facet-fields{grid-template-columns:1fr}.catalogue-hero h1{font-size:27px}.product figure{height:100px}.product .amount{white-space:normal}.refinements{gap:6px}.results-heading .quiet{padding:10px}.product h3{margin:8px 0}.product .code-label{margin-top:10px}}

/* Inline quantity retains the result list and scroll position. */
.catalogue-quantity{display:flex;align-items:center;gap:8px}.catalogue-quantity button{min-width:44px;min-height:44px;padding:8px}.catalogue-quantity span{min-width:24px;text-align:center;font-weight:700}.product .bottom{flex-wrap:wrap;gap:12px}#search-suggestions:empty{display:none}#search-suggestions{flex-wrap:wrap}

#quote-changes ul{padding-left:20px}#quote-changes li{overflow-wrap:anywhere;margin:8px 0}#quote-changes h3{font-size:16px}#quote-changes ins{text-decoration:none;font-weight:700}
/* Keep every destination reachable on narrow phones. */
@media(max-width:760px){nav a{padding:12px 5px;font-size:12px;flex:1;min-width:0;text-align:center}.grid>.card{min-width:0;overflow-wrap:anywhere}.grid>.card .amount{white-space:normal}.product .toolbar{flex-wrap:wrap}.product .toolbar button{padding:10px 6px}}

input[type=checkbox]{width:22px;min-height:22px;margin-right:8px;vertical-align:middle}

/* Multi-tag search: visible selection and an explicit add action. */
.search-tags{margin:14px 0 18px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:12px;min-width:0}
.search-tags-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.search-tags-heading h2{font-size:15px;letter-spacing:0;margin:0}
.search-tags-heading .quiet{min-height:44px;padding:8px 12px}
.search-tags-heading [hidden]{display:none}
.search-tags p{font-size:13px;margin:4px 0 12px}
.search-tags .chip{display:inline-flex;align-items:center;gap:10px;border-radius:24px;min-height:44px;text-align:left}
.tag-entry{margin-top:12px}.tag-entry .tag-label{margin:0 0 6px}
.tag-entry-controls{display:flex;gap:8px;align-items:stretch}.tag-entry-controls input{flex:1;min-width:0}.tag-entry-controls button{flex-shrink:0;white-space:nowrap;min-height:46px}
.tag-entry small{display:block;font-size:12px;margin-top:8px;line-height:1.5}
.search-tags :is(button,input):focus-visible{outline:3px solid #167abc;outline-offset:3px}
@media(max-width:400px){.search-tags{padding:12px}.tag-entry-controls button{padding:10px;font-size:13px}}

/* Shopping tools keep long SKU descriptions usable on small screens. */
.planner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px}.shopping-tools{margin-bottom:20px}.shopping-tools summary{font-weight:700;cursor:pointer}.shopping-tools input,.shopping-tools select,.shopping-tools textarea{max-width:100%;width:100%}.shopping-tools input[type=checkbox]{width:auto}.material-line{padding:16px 0;border-top:1px solid #ddd}.material-line h3{overflow-wrap:anywhere}.product-evidence{font-size:.85rem;margin:10px 0}.product-evidence summary{cursor:pointer}.tag-edit{padding:4px 8px;font-size:.8rem}.trade-list .grid{display:flex;flex-direction:column}.trade-list .product figure{display:none}.trade-list .product{display:block;padding:14px}.trade-list .product .toolbar{display:inline-flex}.trade-list .product h3{margin:6px 0}.trade-list .product .bottom{gap:16px}.catalogue-tools small{max-width:420px}.shopping-tools button{margin-top:8px}#search-link input{width:100%;min-width:0}#quote-readiness li{margin:10px 0;overflow-wrap:anywhere}#planner-answer{margin-top:12px}#search-recovery{margin:12px 0}
.workspace>*{min-width:0}.summary button,.workspace section button{max-width:100%;white-space:normal}.workspace input,.workspace textarea,.workspace select{max-width:100%;min-width:0}#request-date{width:100%;min-width:0}
@media(max-width:480px){.workspace .line{flex-direction:column;align-items:stretch}.workspace .line-right{text-align:left}.workspace .line>div{min-width:0}.workspace .line h3{overflow-wrap:anywhere}}

/* Show products first: one collapsed refinement panel, active chips stay removable. */
.search-options{margin:8px 0}.search-options>summary{padding:10px 12px}.search-options>summary .muted{font-size:12px;font-weight:400}.search-options .search-tags{border:0;padding:12px;margin:0}.search-options>.catalogue-tools,.search-options>#refinements{margin:8px 12px 14px}.compact-active{margin:8px 0}.compact-active:empty{display:none}.compact-active .chip{border-radius:24px}.search-options .catalogue-tools details{margin:0}
@media(max-width:760px){.catalogue-hero{margin:0 0 6px}.catalogue-hero h1{font-size:22px;margin:0}.catalogue-hero .eyebrow,.catalogue-hero p{display:none}.searchbar{margin:8px 0}.searchbar input{margin-top:4px}.results-heading{margin-top:6px}.catalogue-note{margin-bottom:8px;font-size:11px}.compact-active{gap:4px;margin:6px 0}.compact-active .chip{padding:6px 10px}.compact-active .tag-edit{min-height:44px}.search-options>summary{min-height:44px}.search-options .toolbar{gap:4px}.search-options .toolbar button{font-size:13px;padding:8px}}
@media(max-width:760px){.compact-active{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px}.compact-active>*{flex-shrink:0}.compact-active .chip{max-width:75vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:480px){#results>.grid{grid-template-columns:minmax(0,1fr)}#results .product .toolbar{flex-wrap:wrap}#results .product .toolbar button{width:auto;flex:0 0 auto;padding:8px 12px}#results .product figure{height:100px}}

/* Compact photo rows; secondary actions and evidence remain on the detail page. */
#results.trade-list .grid{gap:8px}
#results.trade-list .product{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:12px;row-gap:4px;padding:12px;align-items:start;border-radius:10px}
#results.trade-list .product figure{display:flex;grid-column:1;grid-row:1 / span 4;width:72px;height:72px;margin:0}
.product figure>a{display:flex;width:100%;height:100%;align-items:center;justify-content:center;text-decoration:none}
#results.trade-list .product>h3{grid-column:2;margin:0;font-size:14px;line-height:1.3}
#results.trade-list .product>h3 a{text-decoration:none}
#results.trade-list .product>:is(.code-label,.toolbar,.catalogue-specs,.product-evidence){display:none}
#results.trade-list .product>div:not(.code-label):not(.toolbar){grid-column:2}
#results.trade-list .product .bottom{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:0;gap:4px 8px}
#results.trade-list .product .amount{font-size:15px;white-space:normal;flex:1;min-width:120px}
#results.trade-list .product small{font-size:10px;line-height:1.3;margin:2px 0 0}
#results.trade-list .product button{width:auto;min-height:44px;padding:8px 12px;font-size:13px}
#results.trade-list .product .badge{padding:2px 5px;font-size:10px}
#results.trade-list .catalogue-quantity{gap:4px}
@media(min-width:761px){#results.trade-list .product{grid-template-columns:88px minmax(0,1fr);padding:14px}#results.trade-list .product figure{width:88px;height:88px}#results.trade-list .product>h3{font-size:16px}}

/* Projects: a compact job list, clear working context and progressive settings. */
.project-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;padding:0;height:auto;background:none;border:0}
.project-heading h1{font-size:30px;margin:0;overflow-wrap:anywhere}.project-heading p{margin:6px 0 0;font-size:14px}.project-heading>div{min-width:0}.project-heading>button,.project-heading>.button{flex-shrink:0}
.project-list{display:grid;gap:10px}.project-tile{display:flex;align-items:center;gap:12px;width:100%;padding:16px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:12px;text-align:left;text-decoration:none;min-width:0}
.project-tile:hover{border-color:var(--red)}.project-tile.is-current{border-color:var(--red);background:#fff8f8}.project-tile-body{display:grid;gap:4px;flex:1;min-width:0}.project-tile strong{font-size:17px;overflow-wrap:anywhere}.project-tile small{font-size:12px;font-weight:400;color:var(--muted)}.project-tile-icon{display:grid;place-items:center;width:40px;height:40px;background:#f3f4f6;color:var(--red);border-radius:9px;flex-shrink:0;font-size:24px}
.quick-basket{margin-top:18px}.project-hint{font-size:12px;margin:12px 0;color:var(--muted)}.project-create{margin-bottom:16px}.project-create[hidden]{display:none}.project-create label{margin-top:0}.project-create p{font-size:13px}.project-actions{display:flex;gap:8px}.project-welcome{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:16px}.project-welcome h2{margin-top:0}.project-welcome p{font-size:14px;max-width:540px}
.project-more{margin-top:16px}.project-more a{display:block;padding:10px 16px;font-size:14px}.project-context{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;background:#fff0f1;font-size:12px;margin:8px 0}.project-context span{min-width:0;overflow-wrap:anywhere}.project-context a{flex-shrink:0}
.project-workspace .back{margin-bottom:12px}.project-permission{font-size:13px;background:#f0f3f7;padding:10px 12px;border-radius:8px}.project-quote-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:16px}.project-quote-strip>div{display:grid;gap:4px;min-width:0}.project-quote-strip span{font-size:12px;color:var(--muted)}.project-quote-strip strong{font-size:22px}.project-quote-strip small{font-size:11px;color:var(--muted)}.project-quote-strip .button{font-size:13px;flex-shrink:0}.project-materials>h2{margin-top:0}.project-panel-body{padding:0 16px 16px}.project-panel-body>button{margin-top:12px}.project-workspace details{margin-top:12px}.project-workspace .line h3{margin:4px 0;font-size:15px}.project-workspace .line{padding:14px 0}.project-workspace .summary{scroll-margin-top:16px}.project-workspace textarea{width:100%}
@media(max-width:760px){.project-heading{align-items:flex-start;gap:12px}.project-heading h1{font-size:25px}.project-heading>button,.project-heading>.button{font-size:13px;padding:12px}.project-heading p{font-size:12px}.project-hub .project-heading{flex-wrap:wrap}.project-tile{padding:14px}.project-workspace .project-heading{flex-direction:column}.project-workspace .project-heading>.button{width:100%;text-align:center}.project-workspace .workspace{gap:12px}.project-workspace .card{padding:16px}.project-workspace .line{grid-template-columns:minmax(0,1fr) auto;gap:8px}.project-workspace .line-right{max-width:100px}.project-workspace .line-right .amount{font-size:14px;white-space:normal}.project-workspace .line-controls{flex-wrap:wrap}.project-workspace .line-controls input{width:54px}.project-quote-strip{flex-wrap:wrap}.project-more summary{font-size:13px}}
.project-workspace .summary .sumrow>span:last-child{white-space:nowrap}.project-workspace .summary .sumrow.total{font-size:18px}.project-workspace .summary .sumrow>span:first-child{min-width:0}

.project-heading .project-actions{flex-wrap:wrap}.material-transfer{font-size:12px;padding:6px 0;min-height:40px;text-decoration:underline}.project-dialog{width:min(480px,calc(100% - 24px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:16px;padding:22px;color:var(--ink);box-shadow:0 16px 60px #0003}.project-dialog::backdrop{background:#20232999}.project-dialog h2{margin-top:0}.project-dialog p{font-size:13px}.project-dialog .project-actions{margin-top:18px;flex-wrap:wrap}.project-dialog .project-actions button{min-height:44px}.project-dialog #transfer-preview{font-size:13px;margin-top:12px;padding:10px;background:#f3f4f6;border-radius:8px}.project-operation-success{padding:12px;background:#edf6ef;border-radius:8px;font-size:14px}.project-dialog input,.project-dialog select{min-width:0;max-width:100%}
@media(max-width:760px){.project-heading .project-actions{width:100%}.project-heading .project-actions>*{font-size:13px;flex:1;text-align:center;padding:12px 8px}.project-dialog{padding:16px}}

/* Shared compact photo rows outside the full product detail screen. */
.product-row-list{display:grid;gap:8px}.product-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;margin:8px 0;min-width:0}.product-row .row-body{min-width:0}.row-photo{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0;background:#fafafa;border-radius:8px;overflow:hidden}.row-photo a{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none}.row-photo img{max-width:100%;max-height:100%;object-fit:contain}.row-photo .muted{font-size:11px;text-align:center}.product-row h3,.project-workspace .product-row h3{font-size:14px;line-height:1.3;margin:0 0 4px;overflow-wrap:anywhere}.product-row h3 a{text-decoration:none}.product-row .row-price{font-size:15px;font-weight:700}.product-row p{font-size:12px;margin:4px 0;line-height:1.4}.product-row small{font-size:10px;line-height:1.3;color:var(--muted)}.product-row .badge{font-size:10px;padding:2px 5px}.row-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.row-actions button{font-size:12px;padding:8px 12px;min-height:44px}.product-row details{margin-top:6px}.product-row summary{padding:8px;font-size:12px;min-height:40px}.product-row details>p{padding:0 8px}.product-row .row-context{font-size:11px}.line.product-row,.project-workspace .line.product-row{grid-template-columns:72px minmax(0,1fr);padding:12px;margin:8px 0;gap:8px 12px;border:1px solid var(--line)}.product-row .row-line-total,.project-workspace .product-row .row-line-total{grid-column:2;text-align:left;max-width:none;display:flex;align-items:baseline;gap:6px}.product-row .row-line-total .amount{font-size:13px}.product-row .line-controls{gap:4px;flex-wrap:wrap;margin-top:6px}.product-row .line-controls button{min-height:40px;min-width:36px;padding:8px}.product-row .line-controls input{width:48px;min-height:40px;padding:8px}.product-row .material-transfer{padding:4px 0;min-height:32px}.product-row .line-controls label{margin:0}
@media(min-width:761px){.product-row,.line.product-row,.project-workspace .line.product-row{grid-template-columns:88px minmax(0,1fr)}.product-row .row-photo{width:88px;height:88px}.product-row h3{font-size:16px}}

/* Match catalogue density: no card around the project list, price beside quantity. */
.project-workspace .card.project-materials{padding:0;border:0;background:none;border-radius:0}.project-materials>h2{font-size:18px;margin:0 0 10px}.line.basket-product-row,.project-workspace .line.basket-product-row{position:relative;margin:0 0 8px;padding:12px;gap:8px 12px}.basket-product-row .row-body>h3{padding-right:24px}.basket-row-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 8px;margin-top:4px}.basket-unit-price strong{display:block;font-size:15px}.basket-unit-price>small{display:block}.basket-product-row .line-controls{margin:0;gap:4px;flex-wrap:nowrap}.basket-product-row .line-controls button{background:var(--red);color:white;width:40px;min-width:40px;height:44px;padding:8px}.basket-product-row .line-controls input{border:0;background:transparent;width:36px;padding:4px;min-height:44px;font-weight:700;border-radius:4px;text-align:center;appearance:textfield}.basket-product-row input::-webkit-inner-spin-button,.basket-product-row input::-webkit-outer-spin-button{appearance:none;margin:0}.basket-product-row .item-options{position:absolute;right:4px;top:2px;border:0;background:transparent;margin:0;z-index:1}.basket-product-row .item-options>summary{display:block;padding:0;width:36px;min-height:36px;line-height:32px;text-align:center;font-size:23px;list-style:none}.item-options>summary::-webkit-details-marker{display:none}.basket-product-row .item-options>div{position:absolute;right:0;top:34px;width:200px;max-width:70vw;padding:8px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px #0002}.item-options button{display:block;width:100%;min-height:44px;text-align:left;font-size:13px;padding:8px}.item-options small{display:block;padding:8px}.basket-product-row:has(.item-options[open]){z-index:2}.saved-line-total{display:block;margin-top:4px}.row-quantity{font-size:13px;font-weight:700}

.bulk-selection-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.bulk-selection-bar button{font-size:12px;padding:8px 12px;min-height:44px}.bulk-selection-bar [hidden]{display:none}.selection-check{display:none;position:absolute;left:6px;top:4px;margin:0;z-index:1;background:white;border-radius:5px}.selection-mode .selection-check{display:block}.selection-check input{margin:6px;width:24px;height:24px}.bulk-dialog{width:min(600px,calc(100% - 24px))}.bulk-line{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:12px;align-items:center;margin:0;padding:10px 0;border-bottom:1px solid var(--line)}.bulk-line span{overflow-wrap:anywhere;font-size:13px}.bulk-line small{display:block;font-weight:400;color:var(--muted);margin-top:4px}.bulk-line input{width:76px;font-size:16px}.bulk-destinations label{display:flex;align-items:center;gap:8px;padding:8px;margin:0;min-height:44px}.bulk-destinations input{flex-shrink:0}.bulk-new-project{display:flex;align-items:end;gap:8px}.bulk-new-project label{flex:1;min-width:0}.bulk-new-project button{margin-bottom:7px}#bulk-preview{padding:10px;background:#f3f4f6;border-radius:8px;font-size:13px;margin-top:12px}.project-operation-success a{display:block;margin-top:6px}

/* Compact private commerce workspace. */
.commerce-tabs{position:static;display:flex;gap:.4rem;overflow-x:auto;background:transparent;padding:.5rem 0;margin:0 0 1rem;border:0;justify-content:flex-start}.commerce-tabs button{white-space:nowrap;flex:none;padding:.6rem .8rem;min-height:44px}.commerce-private{font-size:.85rem;color:#64666c;margin:2rem 0}.commerce-actions{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.commerce-actions button,.commerce-actions .button{font-size:.9rem;padding:.5rem .7rem;min-height:44px}.shopping-list{margin:1rem 0 2rem}.shopping-allocation{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;border-top:1px solid #eee}.shopping-allocation>span{flex:1}.commerce-row{margin:.5rem 0}.commerce-row .row-body p{margin:.3rem 0}.commerce-row h3{margin:0}.commerce-dialog{width:min(640px,calc(100vw - 24px));max-height:88dvh;overflow:auto;border:1px solid #ddd;border-radius:16px;padding:1.25rem;box-sizing:border-box}.commerce-dialog::backdrop{background:#0007}.commerce-dialog input,.commerce-dialog select,.commerce-dialog textarea{width:100%;box-sizing:border-box}.commerce-dialog label,.commerce-fields label,.commerce-filters label{display:block;margin:.7rem 0;font-weight:600}.commerce-check{display:flex!important;gap:.6rem;align-items:center}.commerce-check input{width:22px!important;min-height:22px;flex:none}.commerce-fields,.commerce-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .8rem}.commerce-fields input,.commerce-filters input,.commerce-filters select{width:100%;box-sizing:border-box;min-width:0}.commerce-budget{margin:.8rem 0}.commerce-budget dl>div{display:flex;justify-content:space-between;gap:.5rem;margin:.6rem 0}.commerce-budget dd{margin:0;font-weight:700}.commerce-warning,#commerce-error{color:#a20b14}.quote-editor fieldset{border:0;margin:0;padding:0;min-width:0}.quote-editor textarea{width:100%;box-sizing:border-box;min-height:100px}.quote-edit-line{background:#fff;border:1px solid #ddd;border-radius:10px;margin:.6rem 0;padding:.8rem}.quote-edit-line summary{cursor:pointer;font-weight:600;min-height:32px}.quote-editor .card{margin-top:1rem}.commerce .product-row figure{width:60px;min-width:60px;height:65px}.commerce .product-row{padding:.65rem;gap:.6rem}.commerce .row-body{min-width:0;flex:1}.commerce .row-body h3{overflow-wrap:anywhere;font-size:1rem}.commerce .row-body small{font-size:.8rem}.commerce .toolbar{flex-wrap:wrap}.commerce-dialog .toolbar h2{font-size:1.2rem}.commerce-dialog button{min-height:44px}@media(max-width:400px){.commerce-fields,.commerce-filters{grid-template-columns:1fr}.commerce .product-row figure{width:45px;min-width:45px;height:55px}.shopping-allocation{flex-wrap:wrap}.commerce h1{font-size:1.65rem}}
.commerce-tabs{transform:none;left:auto;bottom:auto;width:100%;box-shadow:none;z-index:auto}
.commerce-tabs{gap:.3rem;overflow:visible}.commerce-tabs button{font-size:.8rem;flex:1;padding:.6rem .25rem;min-width:0}.commerce .project-heading{margin-bottom:.3rem}.commerce .project-heading p{margin:.4rem 0}.commerce .shopping-list .toolbar h3{font-size:1rem}

/* Desktop is a workspace; mobile retains compact rows and thumb navigation. */
.disabled-link{opacity:.5;cursor:not-allowed}.commerce-pick{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:12px;border-bottom:1px solid var(--line);padding:8px 0}.commerce-pick label{min-width:0}.commerce-dialog select[multiple]{min-height:150px}.shopping-allocation>input[type=checkbox]{width:22px;height:22px;min-height:22px;flex:none}.commerce-budget progress{width:100%;height:12px;accent-color:var(--red)}.shopping-list>.toolbar .item-options{margin-left:auto}.shopping-list>.toolbar .item-options[open]{padding:8px;border:1px solid var(--line);border-radius:8px}.receipt-line{border-bottom:1px solid var(--line);padding:10px 0}.commerce-filters{margin-bottom:16px}#quote-save-state{font-weight:600}#receipt-total{font-weight:700;color:var(--ink)}
@media(min-width:1100px){
 header{position:sticky;top:0;z-index:5;height:76px;padding:0 28px}.brand span{display:inline}
 #nav{left:20px;top:100px;bottom:auto;transform:none;width:172px;flex-direction:column;align-items:stretch;box-shadow:none;padding:8px}#nav a{padding:14px 12px;white-space:normal}
 main{max-width:1440px;margin-left:216px;margin-right:24px;padding:28px 24px 64px}
 .commerce:not(.quote-editor){display:grid;grid-template-columns:150px minmax(0,1fr);gap:0 28px;align-items:start}.commerce>.project-heading{grid-column:1/-1;margin-bottom:24px}.commerce-tabs{grid-column:1;position:sticky;top:100px;display:flex;flex-direction:column;gap:8px;width:150px}.commerce-tabs button{flex:none;text-align:left;justify-content:flex-start;font-size:14px;padding:12px;white-space:normal}.commerce-tabs button[aria-current=page]{box-shadow:inset 3px 0 0 #99141c}
 #commerce-content{grid-column:2;min-width:0}.commerce-private{grid-column:2}.commerce-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.commerce .product-row{grid-template-columns:72px minmax(0,1fr);padding:16px}.commerce .commerce-row .row-body{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px}.commerce-row .row-body>h3,.commerce-row .row-body>p,.commerce-row .row-body>small,.commerce-row .row-body>details{grid-column:1}.commerce-row .row-body>.commerce-actions{grid-column:2;grid-row:1/5;align-self:center;max-width:220px}.shopping-allocation{grid-column:1/-1}.commerce-row .commerce-actions:empty{display:none}
 .quote-editor{max-width:1000px}.quote-editor .commerce-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-dialog{width:min(780px,calc(100vw - 48px));padding:28px}.commerce-dialog .commerce-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.project-heading{align-items:center}
}
@media(max-width:760px){.commerce-dialog input,.commerce-dialog select,.commerce-fields input,.commerce-filters input,.commerce-filters select{font-size:16px}.commerce-tabs button{font-size:11px}.commerce-pick{grid-template-columns:minmax(0,1fr) 76px}}

.photo-gate{padding:12px 16px;background:#fff4df;border-radius:10px;margin-bottom:16px}.photo-gate h2{font-size:17px;margin:0}.photo-gate p{font-size:14px;margin:6px 0}.photo-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:16px}.photo-previews article{min-width:0;border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;flex-direction:column;max-width:220px}.photo-previews img{width:100%;height:120px;object-fit:contain}.photo-previews span{font-size:12px;overflow-wrap:anywhere}.photo-previews button{font-size:12px}.photo-picker p{font-size:14px}.photo-picker input[hidden]{display:none}
/* Keep labels inside their touch targets at narrow widths. */
@media(max-width:1099px){#nav a{white-space:normal;line-height:1.2;display:flex;align-items:center;justify-content:center;min-height:44px}.commerce-tabs button{white-space:normal;line-height:1.2}}
@media(max-width:760px){.commerce .project-heading h1{font-size:24px;letter-spacing:-.6px}.commerce .project-heading{gap:8px}.commerce .toolbar h2{font-size:19px}.commerce .toolbar button{font-size:13px;padding:10px}.commerce .shopping-list>.toolbar{display:flex;gap:8px;align-items:center}.commerce .shopping-list>.toolbar h3{flex:1;min-width:0}.commerce .shopping-list>.toolbar .item-options{margin-left:0}.commerce .product-row{grid-template-columns:48px minmax(0,1fr)}.commerce .shopping-allocation{gap:4px}.shopping-allocation>span{font-size:12px;overflow-wrap:anywhere}.shopping-allocation>button{font-size:12px;padding:8px;min-height:44px}.shopping-allocation>.item-options>summary{padding:0;min-width:28px;width:28px;min-height:44px;display:flex;align-items:center;justify-content:center;list-style:none}.shopping-allocation .item-options{position:relative;margin:0}.shopping-allocation .item-options[open]{z-index:3}.shopping-allocation .item-options[open]>button{position:relative;min-width:140px;background:white}.commerce-tabs{gap:3px}.commerce-tabs button{padding:8px 3px}}

@media(max-width:760px){.commerce>.project-heading p{display:none}.commerce>.project-heading{margin-bottom:10px}.commerce>.project-heading h1{font-size:23px;white-space:nowrap}.commerce #commerce-content>label:has(select[name=list_status]){display:flex;align-items:center;gap:12px;margin:12px 0}.commerce select[name=list_status]{flex:1;width:auto}.commerce .shopping-list{margin-top:16px}.commerce .commerce-private{font-size:12px}}

/* Searchable material selection shared by shopping and client quotes. */
.picker-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.picker-tools [role=status]{margin-left:auto;font-weight:600;font-size:13px}.picker-options{max-height:38dvh;overflow:auto;border-block:1px solid var(--line);margin:8px 0}.picker-options label{padding:10px 6px;margin:0;border-bottom:1px solid var(--line);font-size:14px;min-height:44px}.picker-options label[hidden]{display:none!important}.picker-options span{overflow-wrap:anywhere}.picker-options label:has(input:checked){background:#fff1f2}.commerce-picker input[type=search]{font-weight:400}.commerce-picker button{font-size:13px;padding:8px}
/* Focus on one list, with the same compact rows on phone and desktop. */
.list-browser label{display:block;margin:10px 0;font-size:13px;font-weight:600}.list-browser input,.list-browser select,.shopping-list>label input{width:100%;box-sizing:border-box;min-width:0}.list-links{display:grid;gap:8px}.list-link{display:block;background:white;border:1px solid var(--line);border-radius:10px;text-decoration:none;padding:12px;color:var(--ink)}.list-link strong,.list-link small{display:block;overflow-wrap:anywhere}.list-link small{margin-top:5px;font-weight:400;color:var(--muted)}.list-link.selected{border-color:var(--red);background:#fff3f3}.list-link:focus-visible{outline:3px solid var(--red);outline-offset:2px}.shopping-split .shopping-list{margin:0}.all-lists{display:inline-block;margin:8px 0 12px;font-size:14px}.list-progress{color:var(--muted);font-size:13px}.receipt-toolbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fff;padding:8px;border:1px solid var(--line);border-radius:10px;margin:10px 0}.receipt-toolbar button{font-size:12px;padding:8px;min-height:44px}.receipt-toolbar [role=status]{font-size:12px;margin-right:auto}.receipt-toolbar button[data-commerce=receipt]{flex:1}.shopping-materials>[hidden]{display:none}.shopping-split.has-selection .list-browser{display:none}.history-refine{margin:10px 0}.history-refine summary{min-height:44px;cursor:pointer;padding:10px}.history-refine .commerce-filters{padding:0 12px}.history-refine+ .chips{gap:6px;display:flex;flex-wrap:wrap}.history-refine+ .chips:empty{display:none}.project-commerce-overview{border-block:1px solid var(--line);padding:12px 0;margin:14px 0}.project-progress-heading{display:flex;justify-content:space-between;gap:8px;font-size:14px}.project-progress-heading small{color:var(--muted)}.project-money-strip{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}.project-money-strip>div{display:grid;gap:4px;font-size:13px}.project-commerce-overview>.muted{display:block;font-size:12px;margin-top:8px}.project-commerce-overview details{margin-top:8px}.project-commerce-overview .commerce-actions{margin-top:10px}.project-commerce-overview>details .list-link{margin:6px 0}
@media(min-width:1100px){.commerce:not(.quote-editor){grid-template-columns:1fr;gap:0}.commerce>.project-heading{margin-bottom:8px}.commerce-tabs{position:static;flex-direction:row;width:100%;grid-column:1;gap:8px;margin-bottom:20px}.commerce-tabs button{flex:1;text-align:center}.commerce #commerce-content,.commerce .commerce-private{grid-column:1}.shopping-split{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.shopping-split .list-browser,.shopping-split.has-selection .list-browser{display:block;position:sticky;top:96px;max-height:calc(100dvh - 112px);overflow:auto;padding:2px}.shopping-list .all-lists{display:none}.receipt-toolbar{top:86px}.list-detail{min-width:0}.project-money-strip{gap:32px}.project-commerce-overview{padding:16px}.commerce .commerce-row .row-body{display:block}}
@media(max-width:760px){.list-browser input,.list-browser select,.shopping-list>label input,.history-refine input,.history-refine select{font-size:16px}.project-commerce-overview .commerce-actions .button,.project-commerce-overview .commerce-actions button{font-size:12px;padding:8px}.receipt-toolbar{margin-inline:-4px}.receipt-toolbar button[data-commerce=receipt]{flex-basis:100%}}
@media(max-width:1099px){.commerce:has(.shopping-split.has-selection)>.project-heading,.commerce #commerce-content:has(.shopping-split.has-selection)>.toolbar{display:none}.shopping-list>.toolbar{margin-bottom:8px}.shopping-list>.toolbar h3{margin:0}.receipt-toolbar button[data-commerce=receipt]:disabled{display:none}.shopping-list>.toolbar .item-options>summary{list-style:none;padding:8px;min-width:36px;text-align:center}.shopping-list>.toolbar .item-options>summary::-webkit-details-marker{display:none}.list-progress{margin:8px 0 12px}.shopping-list .all-lists{margin:0 0 10px}}
/* Guided quoting with a live summary and one document menu. */
.quote-steps{position:static;display:flex;gap:6px;background:none;padding:0;margin:16px 0;width:100%;transform:none;box-shadow:none}.quote-steps button{flex:1;font-size:13px;padding:10px 4px;min-height:44px}.quote-editor [data-quote-step][hidden]{display:none}.quote-editor [data-quote-step]>h2{font-size:20px;margin:16px 0}.quote-step-actions{display:flex;justify-content:space-between;gap:12px;margin:20px 0 12px}.quote-step-actions [hidden]{display:none}.quote-preview-summary{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin:16px 0;min-width:0}.quote-preview-summary #quote-live-totals>strong{font-size:24px;display:block;margin:6px 0}.quote-preview-summary small,.quote-preview-summary p{font-size:13px;color:var(--muted)}.quote-preview-line{display:flex;gap:12px;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.quote-preview-line span{min-width:0;overflow-wrap:anywhere}.quote-preview-line small{display:block;color:var(--muted);margin-top:4px}.quote-preview-line strong{white-space:nowrap}.quote-delivery{margin-top:20px}.quote-export-menu,.quote-delivery>details{padding:12px;background:white;border:1px solid var(--line);border-radius:10px;margin-top:12px}.quote-export-menu>summary{min-height:32px;font-weight:700;cursor:pointer}.quote-export-menu label{display:block;margin:14px 0}.quote-export-menu select{width:100%;box-sizing:border-box}.quote-editor> .project-heading h1{font-size:28px}.quote-editor .muted{font-size:13px}.quote-editor input{max-width:100%;box-sizing:border-box}
@media(min-width:1100px){.quote-editor{max-width:none}.quote-workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}.quote-preview-summary{position:sticky;top:96px}.quote-workspace>div{min-width:0}.quote-steps{max-width:680px}}
@media(max-width:760px){.quote-editor input,.quote-editor textarea,.quote-editor select{font-size:16px}.quote-steps button{font-size:12px}.quote-editor> .project-heading h1{font-size:24px}.quote-editor .project-heading p{display:block;font-size:12px}.quote-preview-summary{padding:12px}.quote-preview-line{font-size:13px}}

/* Search tools stay inside the field, with touch-sized targets on phones. */
.search-field{min-width:0}.search-input-wrap{position:relative;margin-top:7px}.searchbar .search-input-wrap input{margin:0;padding-right:100px;min-height:48px}.search-input-actions{position:absolute;right:3px;top:2px;bottom:2px;display:flex;align-items:center;gap:0}.searchbar .search-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--muted);text-decoration:none}.search-icon svg,.search-submit svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.searchbar .search-icon:hover{background:#f1f2f4;color:var(--ink)}.searchbar .search-icon[aria-pressed="true"]{color:var(--red);background:#fcebed}.search-icon:focus-visible{outline:3px solid #167abc;outline-offset:-3px}.search-voice-status{font-size:13px;margin:4px 0 10px;color:var(--muted)}.search-voice-status[hidden]{display:none}.search-submit svg{display:none}.searchbar .search-submit{min-height:48px}
@media(max-width:480px){.searchbar{gap:6px}.search-input-wrap{margin-top:4px}.searchbar .search-submit{width:44px;padding:10px;display:grid;place-items:center}.search-submit span{display:none}.search-submit svg{display:block}.searchbar .search-input-wrap input{padding-left:10px;font-size:16px}}

/* Focused local barcode scanner; camera shuts down when the dialog closes. */
.barcode-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;border:0;border-radius:16px;overflow:auto;color:var(--ink);background:white}.barcode-dialog::backdrop{background:#111b}.barcode-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.barcode-heading h2{font-size:22px;margin:0}.barcode-heading button{width:44px;min-height:44px;font-size:26px;padding:0}.barcode-camera{position:relative;border-radius:10px;overflow:hidden;background:#16191e;aspect-ratio:16/10;max-height:38dvh}.barcode-camera video{width:100%;height:100%;object-fit:contain;display:block}.barcode-guide{position:absolute;inset:24% 8%;border:2px solid #fff9;border-radius:8px;pointer-events:none}.barcode-status{font-size:14px;line-height:1.4;min-height:40px;margin:12px 0}.barcode-actions{display:flex;gap:8px}.barcode-actions button{flex:1;padding:10px;font-size:14px;min-height:44px}.barcode-manual label{margin-top:16px}.barcode-manual>div{display:flex;gap:8px}.barcode-manual input{min-width:0;font-size:16px}.barcode-manual button{padding:10px}.barcode-product-photos{display:inline-flex;min-height:44px;align-items:center;font-size:13px;margin-top:6px}.barcode-dialog input[hidden]{display:none}@media(max-width:480px){.barcode-dialog{padding:14px}.barcode-heading h2{font-size:20px}.barcode-camera{max-height:30dvh}.barcode-status{font-size:13px}}
/* Compact search shortcuts and repeat scanning, shared across phone and desktop. */
.search-shortcuts{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin:4px 0 8px;font-size:13px}.search-shortcuts>button,.search-shortcuts summary{min-height:44px;padding:10px;cursor:pointer;font-size:13px}.search-shortcuts details{flex:1;min-width:160px}.search-shortcuts details[open]{flex-basis:100%}.search-shortcuts summary{width:fit-content}.search-shortcuts p{margin:6px 10px;font-size:13px}.search-history-row{display:flex;gap:8px;border-bottom:1px solid var(--line)}.search-history-row>button:first-child{flex:1;text-align:left;overflow-wrap:anywhere;min-width:0}.search-history-row>button{min-height:44px;font-size:14px}.search-history-row>button:last-child{width:44px;flex-shrink:0}#search-history-items{border:1px solid var(--line);border-radius:10px;background:white;padding:8px;max-height:300px;overflow:auto}.scan-destination,.scan-summary{font-size:13px;margin:8px 0;overflow-wrap:anywhere}.scan-summary:empty{display:none}.scan-result{margin:10px 0;overflow-wrap:anywhere}.scan-result[hidden]{display:none}.scan-result .product-row{padding:10px;gap:10px}.scan-result .row-photo{width:64px;height:64px;flex-basis:64px}.scan-result h3{font-size:15px}.scan-result label{font-size:13px;margin:10px 0 6px}.scan-add-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scan-add-controls input{width:76px;font-size:16px;min-height:44px}.scan-add-controls button{flex:1;min-height:44px;font-size:14px;padding:10px}.scan-done{margin-top:8px}.scan-url{font-size:13px;overflow-wrap:anywhere}.barcode-dialog.has-scan-result .barcode-camera{max-height:18dvh}.barcode-dialog.has-scan-result .barcode-status{min-height:0}.barcode-dialog .scan-result .product-row+.product-row{margin-top:8px}

/* Scan review stays compact and reuses the catalogue photo rows. */
.scan-session{font-size:13px}.scan-session summary{min-height:44px;padding:10px;cursor:pointer}.scan-session-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.scan-session details[open]{max-height:150px;overflow:auto}.scan-camera-tools{display:flex;gap:12px;align-items:center}.scan-camera-tools:empty{display:none}.scan-camera-tools label{display:flex;align-items:center;gap:8px;font-size:13px}.scan-camera-tools input{width:110px;min-height:44px}.scan-camera-tools button{min-height:44px;font-size:14px}.scan-review[hidden]{display:none}.scan-review h3{font-size:16px}.scan-review .product-row{padding:10px;gap:10px;margin:8px 0}.scan-review .row-photo{width:56px;height:56px;flex-basis:56px}.scan-review p{font-size:13px}.scan-edit{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.scan-edit label{font-size:12px;flex:1;margin:0}.scan-edit input{width:80px;min-height:44px}.scan-edit button{font-size:13px;min-height:44px;padding:10px}.scan-finish-actions{display:flex;flex-direction:column;gap:8px}.scan-reviewing .barcode-camera,.scan-reviewing .scan-camera-tools,.scan-reviewing .barcode-manual,.scan-reviewing [data-barcode-photo],.scan-reviewing .barcode-product-photos{display:none}.scan-reviewing .barcode-actions{margin:12px 0}.scan-reviewing .scan-result:empty{display:none}

.barcode-dialog [hidden]{display:none!important}

/* Optional saved-search and private-code details never expand the catalogue by default. */
#saved-search-tools h3{font-size:1rem;margin:.6rem 0}.scan-private-item{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-bottom:1px solid var(--line,#ddd)}.scan-private-item>div{min-width:0;flex:1;overflow-wrap:anywhere}.scan-private-item small{display:block;color:var(--muted,#62646b)}.scan-private-item .button{flex-shrink:0;padding:.6rem}#saved-search-tools [hidden]{display:none!important}

.commerce-allocation-edit{display:grid;grid-template-columns:minmax(0,1fr) 110px 44px;gap:.5rem;align-items:end;border-bottom:1px solid var(--line);padding:.4rem 0}.commerce-allocation-edit label{min-width:0;margin:0}.commerce-allocation-edit select{min-width:0;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}.commerce-allocation-edit button{margin-bottom:0}#allocation-summary{font-weight:600}@media(max-width:480px){.commerce-allocation-edit{grid-template-columns:minmax(0,1fr) 80px 44px}}
/* Compact requirement rows use the same product layout as the catalogue. */
.material-requirements{margin:1rem 0}.material-requirements h2{font-size:1.15rem;margin:0}.material-summary,.material-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.material-summary{justify-content:space-between;margin:.4rem 0}.material-row{margin:.5rem 0}.material-row p{margin:.3rem 0}.material-row small{display:block}.material-dialog{max-width:760px}.material-dialog .product-row{margin:.5rem 0}.material-dialog .product-photo{width:76px;min-width:76px}.material-dialog input,.material-dialog textarea,.material-dialog select{max-width:100%}.material-dialog .toolbar h2{min-width:0;overflow-wrap:anywhere}.material-dialog details{margin:.5rem 0}.material-dialog #material-conversion:empty{display:none}.material-requirements .product-photo{max-width:80px}.material-requirements .row-body{min-width:0}.material-requirements h3{overflow-wrap:anywhere}@media(max-width:480px){.material-requirements>.toolbar{align-items:center}.material-requirements>.toolbar button{padding:.6rem;font-size:.85rem}.material-dialog .product-photo{width:60px;min-width:60px}.material-actions button{font-size:.9rem;padding:.6rem}.material-row .product-photo{width:60px;min-width:60px}}

/* Remembered browsers and scoped session management. */
.remember-device{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.remember-device input{width:20px;height:20px;margin:3px 0;flex-shrink:0}.remember-device small{display:block;font-weight:400;margin-top:4px;line-height:1.5}.device-list{display:grid;gap:12px}.device-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.device-row h2{font-size:18px;margin-top:0}.device-row p{margin:4px 0}.device-row small{overflow-wrap:anywhere}.account-devices{padding:10px 0;font-size:13px}#account{flex-wrap:wrap;justify-content:flex-end;gap:6px 10px}#logout-all-review{margin-top:12px}@media(max-width:600px){.device-row{display:block}.device-row button{margin-top:14px}#account>span{display:none}.account-devices{font-size:12px}#account .quiet{padding:9px 8px}.devices h1{font-size:29px}}

/* Compact account and integration navigation. */
#account{position:relative;flex:0 0 auto;flex-wrap:nowrap;gap:0}
.account-menu{position:relative}
.account-menu>summary{display:flex;align-items:center;gap:10px;min-width:190px;max-width:min(300px,calc(100vw - 150px));min-height:52px;padding:6px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;list-style:none;text-align:left}
.account-menu>summary::-webkit-details-marker{display:none}
.account-menu>summary:hover,.account-menu[open]>summary{border-color:#c7cbd1;background:#fbfbfc}
.account-avatar{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#fbe5e6;color:var(--red);font-weight:750}
.account-identity{display:grid;min-width:0;line-height:1.25}
.account-identity strong,.account-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-identity strong{font-size:13px;color:var(--ink)}
.account-identity small{font-size:11px;margin-top:2px}
.account-chevron{margin-left:auto;color:var(--muted);font-size:18px;line-height:1}
.account-menu[open] .account-chevron{transform:rotate(180deg)}
.account-menu-panel{position:absolute;z-index:8;top:calc(100% + 9px);right:0;width:min(310px,calc(100vw - 24px));padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px #20232924}
.account-menu-label{margin:8px 10px 4px;font-size:10px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.account-menu-panel>a{display:grid;gap:3px;padding:10px;border-radius:9px;text-decoration:none;color:var(--ink)}
.account-menu-panel>a:hover{background:var(--paper)}
.account-menu-panel>a strong{font-size:13px}
.account-menu-panel>a small{font-size:11px;line-height:1.35}
.account-menu-divider{height:1px;margin:7px 4px;background:var(--line)}
.account-menu-panel .account-signout{width:100%;justify-content:flex-start;min-height:42px;padding:9px 10px;border-radius:9px;text-align:left;font-size:13px}
.account-menu-panel .account-signout:hover{background:#fbe5e6;color:#94171c}
@media(max-width:480px){.account-menu>summary{min-width:0;width:min(218px,calc(100vw - 145px));gap:8px;padding:5px 8px}.account-avatar{flex-basis:32px;width:32px;height:32px}.account-identity strong{font-size:12px}.account-identity small{font-size:10px}.account-chevron{font-size:16px}}

.quote-doc-cell{flex:0 0 44px;width:44px;padding:0!important;align-self:flex-start}.quote-doc-link{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;color:#23775a;border-radius:8px;touch-action:manipulation}.quote-doc-link:hover{background:#edf5ef}.quote-doc-link:focus-visible{outline:2px solid #23775a;outline-offset:2px}.quote-installation-tips{margin-top:20px;padding:16px;border:1px solid #e7e9e8;border-radius:10px;background:#fff;overflow-wrap:anywhere}.quote-installation-tips h3{margin:0 0 12px}.quote-installation-tips p{line-height:1.5}.quote-tip-label{font-size:.9em}.quote-installation-tips a{text-decoration:underline;display:inline-block;min-height:44px;padding-top:10px}

.line.quote-saved-product-row{display:grid;grid-template-columns:44px 88px minmax(0,1fr);align-items:start}.quote-saved-product-row .row-body{grid-column:3}.quote-saved-product-row .row-body>h3{padding-right:0}@media(max-width:600px){.line.quote-saved-product-row{grid-template-columns:44px minmax(0,1fr);gap:8px}.quote-saved-product-row .quote-doc-cell{grid-column:1;grid-row:1/span 2}.quote-saved-product-row .row-photo{grid-column:2;grid-row:1;width:64px;height:64px}.quote-saved-product-row .row-body{grid-column:2;grid-row:2}}

.knowledge-page main{max-width:960px;margin:0 auto;padding:20px;overflow-wrap:anywhere}.knowledge-page label{display:block;margin:12px 0}.knowledge-page input,.knowledge-page select,.knowledge-page textarea{max-width:100%;width:100%;min-height:44px;box-sizing:border-box}.knowledge-page input[type=checkbox]{width:auto;min-height:auto}.knowledge-page button{min-height:44px;max-width:100%;white-space:normal}.knowledge-page pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:500px;overflow:auto}.knowledge-page li{overflow-wrap:anywhere}
