/* Shared shell, typography and CI come from the planner's /static/styles.css. */
:root{--blue:#1766ae;--navy:#102338}
.warehouse-body button:focus-visible,.warehouse-body a:focus-visible,.warehouse-body summary:focus-visible{outline:3px solid #77b6ee;outline-offset:2px}
.warehouse-body .sidebar{overflow-y:auto}.warehouse-body .main{max-width:none;margin:0;padding:0}.warehouse-body .topbar-title{display:flex;align-items:center}.warehouse-body .sidebar .side-user{min-width:0}.warehouse-body .sidebar .side-user>span:last-child{min-width:0;overflow-wrap:anywhere}.warehouse-body .sidebar-footer{padding-top:20px;margin-top:auto}.warehouse-content{padding-bottom:115px}.warehouse-body .topbar .role-chip{white-space:nowrap}.warehouse-body .menu-shade{position:fixed;inset:0;z-index:39;border:0;border-radius:0;background:#10233888}.warehouse-body .mode-tabs{display:none}
.warehouse-content button,.warehouse-body dialog button,.warehouse-body .login button,.cart-bar button{cursor:pointer;min-height:44px;border-radius:7px;padding:10px 16px;border:1px solid var(--border);background:white;color:var(--text);font-weight:650}.warehouse-content button:hover,.warehouse-body dialog button:hover{background:#edf3f9}.warehouse-body button:disabled{opacity:.55;cursor:wait}.warehouse-content .primary,.warehouse-body dialog .primary,.warehouse-body .login .primary,.cart-bar .primary{background:var(--blue);border-color:var(--blue);color:#fff}.warehouse-content .primary:hover,.warehouse-body dialog .primary:hover,.warehouse-body .login .primary:hover{background:#12538f}.wide{width:100%}.warehouse-content h2,.warehouse-body dialog h2{font-size:20px;margin:0 0 12px}.warehouse-content h3{font-size:18px;margin:0}.warehouse-content p,.warehouse-body dialog p{margin:8px 0;line-height:1.5}.small{font-size:13px}.warehouse-content .muted,.warehouse-body dialog .muted{color:var(--muted)}
.warehouse-content label,.warehouse-body dialog label,.warehouse-body .login label{display:block;font-size:14px;font-weight:650;margin-bottom:14px}.warehouse-content input,.warehouse-content select,.warehouse-content textarea,.warehouse-body dialog input,.warehouse-body dialog select,.warehouse-body dialog textarea,.warehouse-body .login input{display:block;width:100%;min-height:46px;padding:11px 12px;border:1px solid #bdcbd8;border-radius:7px;background:#fff;color:var(--text);margin-top:6px;font:inherit;font-size:14px;max-width:100%}.warehouse-content textarea,.warehouse-body dialog textarea{resize:vertical}.warehouse-body input:focus,.warehouse-body select:focus,.warehouse-body textarea:focus{outline:2px solid #77b6ee;outline-offset:1px}.warehouse-content input[type=checkbox]{width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--blue)}.warehouse-content .check{display:flex;gap:12px;align-items:center;min-height:48px}
.search-panel{display:grid;grid-template-columns:1fr 2fr;gap:18px;background:white;border:1px solid var(--border);padding:20px;border-radius:10px;box-shadow:var(--shadow)}.project-row,.search-row{display:flex;gap:8px}.project-row select,.search-row input{margin-top:0;min-width:0}.search-panel label{margin-bottom:6px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 0 12px}.articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.article{background:#fff;border:1px solid var(--border);padding:19px;border-radius:10px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}.article.selected{border:2px solid var(--blue);padding:18px}.article-top{display:flex;justify-content:space-between;gap:12px}.article p{margin:0;font-size:14px;overflow-wrap:anywhere}.article .tag{font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:#edf3f9;padding:4px 7px;border-radius:5px;white-space:nowrap;align-self:flex-start}.article-bottom{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-top:auto;padding-top:10px}.quantity{font-size:25px;font-weight:750;color:#173856}.stock-label{font-size:12px;color:var(--muted)}.inspect{color:#97621a;font-size:12px}.warehouse-content .empty{grid-column:1/-1;padding:35px 20px;text-align:center;background:white;border:1px dashed var(--border);border-radius:10px}.more{display:block;margin:18px auto}
.cart{background:#fff;border:1px solid var(--border);border-radius:10px;margin-top:24px;padding:24px;scroll-margin-top:110px}.cart-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.cart-line{padding:16px 0;border-top:1px solid var(--border)}.line-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.line-top p{font-size:13px;color:var(--muted)}.line-controls{display:grid;grid-template-columns:minmax(100px,160px) 1fr;gap:16px;margin-top:8px}.damage-item{background:#fff8ed;padding:12px;border-radius:8px;margin-bottom:12px}.warehouse-content details,.warehouse-body dialog details{border-top:1px solid var(--border);padding:14px 0;margin:10px 0}.warehouse-content summary,.warehouse-body dialog summary{cursor:pointer;font-size:14px;font-weight:650}.warehouse-body .error{padding:12px;border:1px solid #edc4c7;border-radius:8px;background:#fff1f2;color:var(--red);overflow-wrap:anywhere}.cart-bar{position:fixed;bottom:0;left:248px;right:0;z-index:24;background:white;border-top:1px solid var(--border);padding:12px 34px;padding-bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 -3px 20px #10243822}.warehouse-body .toast{z-index:60;bottom:95px;max-width:90vw}.login{display:grid;place-items:center;min-height:100vh;padding:24px;background:var(--navy)}.login-card{background:white;max-width:440px;width:100%;padding:30px;border-radius:10px}.login h1{font-size:27px}.login .logo{width:190px;max-width:100%;margin-bottom:18px}.login form{margin-top:22px}.initial{padding:60px;text-align:center}.upload-list{font-size:13px}.upload-list p{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--border);padding:6px 0}.upload-list button{min-height:36px;padding:4px 10px}
.warehouse-body dialog{border:0;border-radius:10px;padding:24px;max-width:680px;width:calc(100% - 28px);max-height:90dvh;color:var(--text);box-shadow:0 15px 80px #0004}.warehouse-body dialog::backdrop{background:#102438a8}.dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.dialog-heading h2{margin:0}.dialog-heading button{font-size:24px;line-height:1}.warehouse-body .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.history-entry{border-top:1px solid var(--border);padding:18px 0}.history-entry p{font-size:14px}.history-entry a{color:var(--blue);display:inline-block;margin:4px 10px 4px 0}.history-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.history-line{display:flex;justify-content:space-between;gap:14px}.loading{opacity:.55}.video{width:100%;border-radius:10px;background:var(--navy)}.count-table{width:100%;border-collapse:collapse;font-size:14px}.count-table th,.count-table td{padding:12px 6px;text-align:left;border-bottom:1px solid var(--border)}
@media(min-width:801px){.warehouse-body .menu-shade{display:none}.warehouse-body .sidebar{transform:none}.warehouse-body.menu-open{overflow:auto}}
@media(max-width:1100px){.warehouse-body .topbar .current-date{display:none}.warehouse-body .topbar-right{gap:8px}}
@media(max-width:800px){.warehouse-body.menu-open{overflow:hidden}.warehouse-body .sidebar .nav-link{min-height:48px}.warehouse-body .topbar .role-chip{display:none}.warehouse-body .topbar .menu-toggle{min-height:44px;min-width:40px}.warehouse-body .mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:18px}.warehouse-body .mode-tabs button{font-size:15px;padding:10px 6px;min-height:50px}.warehouse-body .mode-tabs button.active{background:#1c4165;border-color:#2d5c88;color:white}.warehouse-content{padding-bottom:115px}.search-panel{grid-template-columns:1fr;padding:15px;gap:12px}.articles{grid-template-columns:1fr}.article{padding:16px}.article.selected{padding:15px}.list-heading{font-size:13px}.list-heading button{font-size:13px;padding:8px 10px}.cart{padding:17px;scroll-margin-top:95px}.warehouse-body .form-grid{grid-template-columns:1fr}.cart-bar{left:0;padding-left:15px;padding-right:15px}.cart-bar span{font-size:14px}.login-card{padding:24px}.line-controls{grid-template-columns:95px 1fr;gap:12px}.search-row button{font-size:12px;padding:5px 8px}.warehouse-body dialog{padding:19px}.count-table{font-size:12px}.warehouse-content input,.warehouse-content select,.warehouse-content textarea,.warehouse-body dialog input,.warehouse-body dialog select,.warehouse-body dialog textarea,.warehouse-body .login input{font-size:16px;min-height:48px}}
/* V03: clear stock quantities and a short, separate booking step. */
.warehouse-body [hidden]{display:none!important}
.stock-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.stock-heading h2{margin:0}.stock-heading p{margin:4px 0 0}.stock-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:white;border:1px solid var(--border);border-radius:10px;overflow:hidden}.stock-summary>div{padding:20px 24px;display:flex;flex-direction:column;gap:4px}.stock-summary>div+div{border-left:1px solid var(--border)}.stock-summary strong{font-size:32px;line-height:1.2;font-variant-numeric:tabular-nums}.stock-summary span{font-size:14px}.ready-count{color:#206445;background:#f0f8f3}.inspect-count{color:#89510b;background:#fff4e2}.stock-filters{display:flex;gap:8px;margin:14px 0 20px}.warehouse-content .stock-filters button.active{background:#1c4165;color:white;border-color:#1c4165}.stock-list{grid-template-columns:1fr}.article{gap:14px}.article-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.article-counts>div{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:6px;background-color:#f5f7fa}.article-counts>.ready-count{background:#f0f8f3}.article-counts>.inspect-count{background:#fff4e2}.article-counts strong{font-size:24px;line-height:1.2;font-variant-numeric:tabular-nums}.article-counts span{font-size:13px;white-space:nowrap}.stock-list .article{display:grid;grid-template-columns:minmax(200px,1fr) minmax(335px,1fr) auto;align-items:center;gap:24px}.stock-list .article h3{font-size:18px}.stock-list .article p{font-size:14px}.stock-list .article-counts{gap:10px}.stock-list .article-counts>div{padding:12px}.cart{max-width:680px;margin:0 auto}.cart-title{align-items:flex-start}.cart-title h2{margin:4px 0}.cart-title .eyebrow{font-size:12px;margin:0}.cart-line{padding:16px 0}.cart-line .line-top strong{font-size:19px}.cart-line .line-top p:empty{display:none}.quantity-field{max-width:260px;margin-top:15px}.quantity-stepper{display:grid;grid-template-columns:52px minmax(60px,1fr) 52px;gap:6px;margin-top:8px}.quantity-stepper input{margin:0;text-align:center;font-size:24px;min-height:52px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-stepper button{font-size:24px;min-height:52px;padding:6px}.cart .check{font-weight:500;margin-bottom:0}.cart .damage-item{margin-top:10px}.cart #book{min-height:54px;font-size:17px}.cart #add-another{margin-top:4px}.cart details{margin:10px 0}.cart details[open] summary{margin-bottom:16px}.photo-link{margin:4px 8px 8px 0}#photo-dialog{max-width:1000px;width:calc(100% - 20px)}#photo-image{display:block;max-width:100%;max-height:72dvh;height:auto;width:auto;margin:auto;object-fit:contain}#photo-dialog .dialog-heading{position:sticky;top:0;background:#fff}#photo-dialog .dialog-heading h2{overflow-wrap:anywhere}
@media(max-width:1100px){.stock-list .article{grid-template-columns:1fr auto;gap:14px}.stock-list .article-info{grid-column:1/-1}.stock-list .article-counts{min-width:0}}
@media(max-width:800px){.stock-heading{align-items:flex-start}.stock-heading h2{font-size:21px}.stock-heading #reset-filters{font-size:12px;padding:8px;max-width:125px}.stock-summary>div{padding:15px 10px}.stock-summary strong{font-size:29px}.stock-summary span{font-size:12px}.stock-filters button{font-size:13px;padding:10px}.stock-list .article{display:flex;align-items:stretch;gap:14px}.article-counts span{font-size:12px}.stock-list .article-counts{gap:6px}.article-counts>div,.stock-list .article-counts>div{padding:10px 8px}.article-counts strong{font-size:25px}.stock-list .article button{width:100%}.cart{margin:0;padding:18px}.cart-title h2{font-size:22px}.quantity-field{max-width:none}.quantity-stepper{grid-template-columns:58px minmax(65px,1fr) 58px}.quantity-stepper input{font-size:26px;min-height:58px}.quantity-stepper button{min-height:58px}.cart #book{min-height:56px}.cart .check{font-size:15px}.warehouse-body .content{padding-left:16px;padding-right:16px}.stock-heading p{font-size:13px}.cart .damage-item{padding:12px}.cart .damage-item label{font-size:14px}}
.receipt-start{max-width:680px;margin:0 auto;padding:28px;background:white;border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.receipt-start h2{font-size:27px}.receipt-start>.eyebrow{font-size:12px}.receipt-start>label{margin-top:24px}.receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.receipt-actions button{min-height:64px;font-size:16px}.receipt-start #receipt-manual{margin-top:24px}.receipt-start #receipt-analyze{min-height:54px;margin-top:14px}.receipt-progress{padding:14px;background:#edf5fc;border-radius:7px;color:#174d7f}.receipt-review{padding:14px;background:#f3f7fb;border:1px solid #dce7f2;border-radius:8px;margin-bottom:16px}.receipt-review pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.5 sans-serif;max-height:240px;overflow:auto}.receipt-previews{display:flex;flex-wrap:wrap;gap:8px}.receipt-previews a{align-self:center;color:var(--blue)}.match-result{border-top:1px solid var(--border);padding:14px 0;display:flex;justify-content:space-between;align-items:center;gap:12px}.cart #receipt-add-row{margin:12px 0 4px}#back-to-receipt{margin-bottom:14px}.receipt-start #receipt-new-project{margin-top:-6px;font-size:13px}.receipt-start .upload-list span{overflow-wrap:anywhere}.cart-line>label:not(.check):not(.quantity-field){margin-top:14px}
@media(max-width:800px){.receipt-start{padding:20px}.receipt-start h2{font-size:25px}.receipt-actions{grid-template-columns:1fr}.receipt-actions button{min-height:60px}.receipt-start>label{margin-top:20px}.receipt-review{padding:12px}.receipt-review .inspect{line-height:1.45}}

.receipt-line-details{margin:8px 0 16px}.receipt-line-details[open]>summary{margin-bottom:12px}.receipt-line-details>label{margin-top:10px}
.cart-title{gap:12px;align-items:flex-start}.cart-title>div{min-width:0;flex:1}.cart-title>button{flex-shrink:0}.cart-title h2{white-space:normal;overflow-wrap:anywhere}

/* V05: accessible, explicitly closable single-choice lists. */
.wawi-select{display:block;min-width:0;width:100%;margin-top:6px}.project-row>.wawi-select{margin-top:0;flex:1}.warehouse-body .wawi-select-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;padding:11px 12px;border:1px solid #bdcbd8;background:white;color:var(--text);font:inherit;font-size:14px;text-align:left;font-weight:inherit;cursor:pointer}.wawi-select-value{min-width:0;overflow-wrap:anywhere}.wawi-select-arrow{flex-shrink:0;line-height:1}.wawi-select-button[aria-expanded=true] .wawi-select-arrow{transform:rotate(180deg)}.wawi-options{position:fixed;z-index:100;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #97b2cb;border-radius:7px;padding:4px;box-shadow:0 8px 24px #10243830;box-sizing:border-box;color:var(--text);font-family:inherit;line-height:1.4}.wawi-option{padding:11px 12px;min-height:44px;box-sizing:border-box;display:flex;align-items:center;overflow-wrap:anywhere;cursor:pointer;border-radius:4px;font-size:14px}.wawi-option[aria-selected=true]{font-weight:700;background:#edf3f9}.wawi-option.highlighted,.wawi-option:hover{background:#dcebf8;color:#123c65}.warehouse-body .wawi-select-button:focus-visible{outline:3px solid #77b6ee;outline-offset:2px}@media(max-width:800px){.warehouse-body .wawi-select-button{font-size:16px;min-height:48px}.wawi-option{font-size:16px;min-height:48px}}
