@font-face{font-family:"Open Sans";src:url("/pdv/font.ttf") format("truetype");font-weight:100 900;font-display:swap}*{box-sizing:border-box}html{background:#fff;color:#35292d;font:15px/1.5 "Open Sans",system-ui,sans-serif}body{margin:0}header{height:82px;padding:18px 22px;border-bottom:1px solid #f2e9eb;display:flex;align-items:center;gap:14px}header img{width:160px;height:auto}header>span{font-size:12px;color:#71565d;border-left:1px solid #e4b7b9;padding-left:12px}header button{margin-left:auto}main{max-width:540px;margin:auto;padding:18px 22px 36px}.labBadge{font-size:11px;letter-spacing:.03em;color:#71565d;background:#fbebeb;border-radius:99px;padding:7px 12px;display:inline-block}.intro{padding:38px 0 24px}.eyebrow{font-size:10px;letter-spacing:.14em;color:#71565d}h1{font-size:27px;line-height:1.22;font-weight:500;margin:10px 0 15px}h2{font-size:21px;font-weight:500;margin:26px 0 16px}h3{font-size:15px;font-weight:600;margin-top:26px}p{color:#71565d}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:12px;min-height:48px;padding:12px 17px}button:disabled{opacity:.42;cursor:default}.primary{background:#8b4e57;color:white;width:100%;font-weight:600;display:flex;justify-content:center;align-items:center;gap:12px}.secondary{background:#fbebeb;color:#713c45}.quiet{background:transparent;color:#713c45;padding:8px;min-height:44px;font-size:13px}svg{width:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hint{font-size:12px;line-height:1.6;margin:12px 0 22px}details{border-top:1px solid #eee1e4;margin-top:24px;padding-top:18px}summary{cursor:pointer;color:#713c45;min-height:44px;padding:8px 0;font-size:14px}label{display:block;margin:16px 0 0;font-size:13px;color:#35292d}input,select{display:block;width:100%;height:48px;border:1px solid #d9c9cd;background:white;border-radius:10px;padding:10px;margin-top:7px;color:#35292d}input:focus,select:focus,button:focus-visible,summary:focus-visible{outline:2px solid #8b4e57;outline-offset:3px}form>.primary{margin-top:24px}.seller{display:flex;align-items:center;justify-content:space-between;margin-top:26px}.seller h1{font-size:23px}.steps{display:flex;justify-content:space-between;font-size:12px;border-bottom:1px solid #eee1e4;margin:10px 0 25px;padding-bottom:14px;color:#71565d}.steps .active{font-weight:700;color:#713c45}.camera{min-height:64px}.inline{display:flex;gap:10px;align-items:end}.inline label{margin:0}.grow{flex:1;min-width:0}.cart{list-style:none;margin:24px 0;padding:0}.cart li{padding:16px 0;border-top:1px solid #eee1e4;display:grid;grid-template-columns:1fr auto;gap:8px}.cart small{display:block;color:#71565d;font-size:11px}.qty{display:flex;align-items:center;gap:8px}.qty button{background:#fbebeb;font-size:17px;min-height:44px;width:44px;padding:7px}.total{display:flex;justify-content:space-between;padding:20px 0;font-size:19px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;margin-top:22px}.check input{flex:0 0 19px;width:19px;height:19px;margin:2px 0;accent-color:#8b4e57}.delivery{background:#fbf7f8;padding:17px;border-radius:12px;margin-top:24px;font-size:13px}.delivery p{margin-bottom:0}#message{font-size:13px;white-space:pre-line}#message:empty{display:none}.notice{background:#fff5e4;padding:12px;border-radius:8px;font-size:12px}.reviewRow{display:flex;justify-content:space-between;gap:15px;margin:12px 0;font-size:14px}.reviewClient{background:#fbf7f8;padding:16px;border-radius:12px;margin:20px 0;overflow-wrap:anywhere}.resultMark{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:#fbebeb;color:#8b4e57;border-radius:50%;font-size:26px;margin-top:35px}#operationId{overflow-wrap:anywhere}dialog{width:calc(100% - 32px);max-width:520px;border:1px solid #eee1e4;border-radius:18px;padding:20px}dialog::backdrop{background:#35292d88}.dialogHeader{display:flex;align-items:center;justify-content:space-between}.dialogHeader h2{margin:0}video{width:100%;max-height:60vh;border-radius:12px;background:#35292d;margin-top:15px}footer{text-align:center;color:#71565d;font-size:10px;padding:20px;border-top:1px solid #f2e9eb}#history{padding:0;list-style:none;font-size:12px}#history li{padding:12px 0;border-bottom:1px solid #eee1e4;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:360px){header{padding:15px}header img{width:135px}main{padding:16px}.columns{gap:8px}h1{font-size:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

.pieceDetail{margin-top:24px;padding:18px;border:1px solid #eee1e4;border-radius:12px}.piecePhoto{height:220px;background:#fbf7f8;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.piecePhoto img{width:100%;height:100%;object-fit:contain}.piecePhoto p{font-size:12px;padding:16px;text-align:center}.pieceDetail h2{margin:10px 0;font-size:19px;overflow-wrap:anywhere}.pieceDetail .hint{margin:12px 0}.pieceDetail>p{font-size:13px;white-space:pre-line;overflow-wrap:anywhere}.pieceValues{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:18px 0}.pieceValues strong{font-size:21px}.pieceValues span{font-size:12px;color:#71565d}

.cartHeading{font-size:19px;margin-bottom:0}.cartHeading small{display:block;font-size:12px;color:#71565d;margin-top:6px}.saleActions{position:sticky;bottom:0;z-index:1;background:#fff;padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid #eee1e4}.saleActions>.secondary{width:100%}.saleActions .total{padding:12px 0}.pieceDetail{scroll-margin-top:16px}

/* Login revision: preserve the full wordmark here; use its original symbol after login. */
.headerBrand{display:flex;align-items:center;flex:0 0 auto}
body:has(#loginScreen:not([hidden])){min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
body:has(#loginScreen:not([hidden]))>header{flex-shrink:0}
body:has(#loginScreen:not([hidden]))>main{width:100%;flex:1;margin:0 auto}
body:has(#loginScreen:not([hidden])) .labBadge{display:none}
body:has(#loginScreen:not([hidden]))>footer{flex-shrink:0;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
body:has(#loginScreen[hidden]) .headerBrand{width:42px;overflow:hidden}
body:has(#loginScreen[hidden]) .headerBrand img{width:160px;max-width:none;flex:none}

/* Mobile sales workspace; login styles above remain intact. */
#activityMark,.headerGreeting,.stageNav{display:none}
#activityMark{width:42px;height:42px;flex:none;stroke:none;fill:none}
#activityMark .activityBars{fill:#cb7d84}
#activityMark .activityHalo{fill:none;stroke:#8b4e57;stroke-width:1.5;stroke-dasharray:3 7;opacity:0}
#activityMark[data-busy="true"] .activityHalo{opacity:1}
#activityMark[data-busy="true"] .activityBars rect{animation:pdv-aura-think 1.5s ease-in-out infinite}
#activityMark[data-busy="true"] .activityBars rect:nth-child(2){animation-delay:.18s}
#activityMark[data-busy="true"] .activityBars rect:nth-child(3){animation-delay:.36s}
@keyframes pdv-aura-think{50%{opacity:.28}}
.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body:has(#saleScreen:not([hidden])){position:fixed;top:var(--pdv-top,0px);left:0;right:0;width:100%;height:100vh;height:var(--pdv-height,100dvh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
body:has(#saleScreen:not([hidden]))>header{height:calc(64px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 12px 0;gap:8px;min-width:0}
body:has(#saleScreen:not([hidden])) .headerBrand{width:42px;overflow:visible}
body:has(#saleScreen:not([hidden])) .headerBrand img{display:none}
body:has(#saleScreen:not([hidden])) #activityMark{display:block}
body:has(#saleScreen:not([hidden])) header>.pdvTitle{font-size:12px;border:0;padding:0;white-space:nowrap}
body:has(#saleScreen:not([hidden])) .headerGreeting{display:block;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;border:0;padding:0;text-align:right}
body:has(#saleScreen:not([hidden])) header>#logout{margin:0;padding:8px;flex:none}
body:has(#saleScreen:not([hidden]))>main{width:100%;height:100%;max-width:540px;min-height:0;margin:0 auto;padding:0 12px;position:relative;overflow:hidden}
body:has(#saleScreen:not([hidden])) .labBadge,body:has(#saleScreen:not([hidden]))>footer{display:none}
body:has(#saleScreen:not([hidden])) #saleScreen{height:100%;min-height:0}
body:has(#saleScreen:not([hidden])) #pieces{height:100%;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
.capturePane{min-height:0;padding:12px 0}
.captureSurface{position:relative;height:100%;min-height:0;border-radius:16px;overflow:hidden;background:#fbebeb;border:1px solid #ead5d7}
.captureIdle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:28px}
.captureIcon{background:transparent;color:#8b4e57;width:64px;height:64px;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:16px}
.captureIcon svg{width:36px;height:36px}
.inlineScanner{position:absolute;inset:0;background:#35292d}
.inlineScanner video{display:block;width:100%;height:100%;max-height:none;object-fit:cover;background:#35292d;margin:0;border-radius:0}
.cameraClose{position:absolute;top:8px;right:8px;width:44px;height:44px;min-height:44px;padding:10px;background:#35292dcc;color:#fff;border-radius:50%}
#scanMessage{position:absolute;left:12px;right:12px;bottom:8px;margin:0;color:#fff;background:#35292dcc;border-radius:8px;padding:8px;font-size:12px;line-height:1.4;pointer-events:none}
#scanMessage:empty{display:none}
.searchPanel{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff}
.searchToolbar{height:36px;flex:none;display:flex;align-items:center;gap:6px;padding:0 6px;border-bottom:1px solid #f2e9eb}
.searchToolbar .quiet{width:36px;min-height:36px;height:36px;padding:6px;flex:none}
.searchToolbar svg{width:20px;height:20px}
#searchStatus{flex:1;font-size:11px;color:#71565d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.searchResults{flex:1;min-height:0;overflow:hidden;list-style:none;margin:0;padding:0 8px}
.searchResults li{height:52px;margin:0;padding:0;border-bottom:1px solid #f2e9eb}
.searchResult{display:flex;align-items:center;gap:10px;width:100%;height:52px;min-height:52px;border-radius:0;text-align:left;padding:6px 0;background:transparent;color:#35292d;font-size:13px;font-weight:400}
.searchResult img{width:36px;height:36px;object-fit:contain;flex:none;border-radius:5px;background:#fbf7f8}
.searchResult span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.searchForm{flex:none;padding:6px 8px 8px;border-top:1px solid #ead5d7}
.searchForm input{height:40px;margin:0;font-size:16px;border-radius:9px}
.basketPane{height:100%;min-height:0;display:flex;flex-direction:column;border-top:1px solid #eee1e4;overflow:hidden}
.basketScroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 2px}
.basketPane .cartHeading{font-size:16px;margin:14px 0 0}
.basketPane .cartHeading small{font-size:11px;margin-top:3px}
.basketPane .cart{margin:0}
.basketPane .cart li{padding:12px 0;align-items:center}
.basketPane .cart strong{font-size:13px;font-weight:500;display:block}
.basketPane .cart small{font-size:10px;line-height:1.6}
.basketPane .qty{gap:5px;font-size:13px}
.basketPane .qty button{width:40px;height:44px;font-size:18px}
.cartEmpty{font-size:12px;margin:18px 0;color:#71565d}
.basketTotal{flex:none;border-top:1px solid #eee1e4;padding:12px 0;font-size:17px;margin:0;min-height:50px}
body:has(#saleScreen:not([hidden])) .stageNav{display:flex;align-items:center;justify-content:space-between;width:100%;height:calc(60px + env(safe-area-inset-bottom,0px));padding:0 12px env(safe-area-inset-bottom,0px);border-top:1px solid #ead5d7;background:#fff}
.stageNav button{height:48px;min-height:48px;background:transparent;color:#71565d;font-size:12px;font-weight:400;padding:10px 8px;white-space:nowrap}
.stageNav button.active{color:#8b4e57;font-weight:600}
body:has(#saleScreen:not([hidden])) #customerForm,body:has(#saleScreen:not([hidden])) #review,body:has(#saleScreen:not([hidden])) #result{height:100%;overflow-y:auto;overscroll-behavior:contain;padding-bottom:24px;scroll-behavior:smooth}
body:has(#saleScreen:not([hidden])) .history{display:none}
body:has(#saleScreen:not([hidden])) #message,body:has(#saleScreen:not([hidden])) #network{position:absolute;left:20px;right:20px;top:14px;z-index:3;margin:0;padding:10px 12px;background:#fff5e4;border:1px solid #ead5d7;border-radius:10px;font-size:12px;box-shadow:0 3px 12px #35292d12}
body:has(#saleScreen:not([hidden])) #message{pointer-events:none}
@media(prefers-reduced-motion:reduce){#activityMark *{animation:none!important}}

.basketPane .cartHeading{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.basketPane .cartHeading small{display:inline;margin-top:0;flex:none}

/* Focused search and continuous scanning refinement; prior login is unchanged. */
html:has(#saleScreen:not([hidden])){overflow:hidden;overscroll-behavior:none}
#toggleSearch{flex-direction:column;gap:2px;height:78px;width:78px;padding:8px}
#toggleSearch span{font-size:11px;font-weight:400;line-height:1.4}
.basketTotal{display:flex;align-items:baseline;justify-content:space-between;gap:8px;white-space:nowrap}
.basketCount{font-size:11px;color:#71565d;flex:none}
.basketAmount{display:flex;align-items:baseline;gap:8px;margin-left:auto}
.basketAmount>span{font-size:17px;font-weight:400}
.basketAmount strong{font-size:17px}

/* Customer title remains fixed; only the original fields scroll below it. */
body:has(#saleScreen:not([hidden])) #customerForm{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-bottom:0}
#customerForm>#customerTitle{flex:none;margin:26px 0 16px}
.customerFields{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:24px}
.customerFields>.primary{margin-top:24px}

/* Customer inputs avoid Safari's automatic focus zoom; the footer keeps its layout position. */
#customerForm input:not([type=checkbox]),#customerForm select{font-size:16px}
.customerFields{padding-bottom:calc(24px + var(--pdv-keyboard-overlap,0px));scroll-padding-top:20px}
.cepStatus{font-size:12px;line-height:1.4;margin:7px 0 0;color:#71565d}
.cepStatus:empty{display:none}
#clientNumber.needsNumber{border:2px solid #a87524;box-shadow:0 0 0 2px #a875241a}
#clientNumber.needsNumber:focus{outline:2px solid #a87524;outline-offset:2px}
.numberHint{display:block;font-size:11px;color:#855919;margin-top:5px}

/* While the search keyboard is open, use the visible space for search only. */
html[data-search-keyboard="true"] body:has(#saleScreen:not([hidden])){grid-template-rows:auto minmax(0,1fr)}
html[data-search-keyboard="true"] body:has(#saleScreen:not([hidden])) #pieces{grid-template-rows:minmax(0,1fr)}
html[data-search-keyboard="true"] .basketPane,html[data-search-keyboard="true"] .stageNav{display:none!important}
.searchResults li{display:flex;align-items:center;gap:8px}
.searchResult{flex:1;min-width:0;width:auto}
.searchThumbnail{flex:none;width:44px;height:44px;min-height:44px;padding:4px;background:transparent;border-radius:6px}
.searchThumbnail img{display:block;width:36px;height:36px;object-fit:contain;border-radius:5px;background:#fbf7f8}
.searchPhoto{position:absolute;inset:0;z-index:2;background:#fbf7f8;display:flex;align-items:center;justify-content:center}
.searchPhoto>img{display:block;width:100%;height:100%;object-fit:contain}
.searchPhoto .cameraClose{background:#ffffffed;color:#713c45}
