:root{font:15px system-ui,Arial;color:#1c2937;background:#f3f6f9}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;background:#182d43;color:white;padding:17px max(20px,calc((100vw - 1200px)/2))}a{color:#136caa;text-decoration:none}header a{color:#fff;margin-right:16px}.brand{font-size:21px;font-weight:800}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:400}nav{display:flex;flex-wrap:wrap;gap:8px}main{max-width:1200px;margin:24px auto;padding:0 20px;min-height:75vh}h1{font-size:27px}.panel{padding:22px;background:white;border:1px solid #dce4ed;border-radius:12px;margin:16px 0;box-shadow:0 2px 10px #23314308}label{display:block;margin:12px 0;font-weight:600}input,select,textarea{display:block;width:100%;max-width:530px;margin:7px 0;padding:10px 12px;border-radius:7px;border:1px solid #b9c7d5;font:inherit}textarea{min-height:70px}button,.btn{display:inline-block;background:#1475ac;color:white;border:0;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer;margin:4px}button:hover,.btn:hover{background:#14567e}.error{color:#b3261e}.ok{color:#126739}.muted{color:#66788a}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.item{padding:16px;background:white;border-radius:10px;border:1px solid #dae3ed}.item img{width:100%;aspect-ratio:4/3;object-fit:contain}table{border-collapse:collapse;width:100%;background:white}th,td{padding:10px;border-bottom:1px solid #e3e9f0;text-align:left}th{background:#eaf0f6}.tabs{display:flex;gap:6px;margin:20px 0}.tabs a{padding:10px 20px;background:#e0e8f1;border-radius:8px}.tabs .selected{background:#176f9f;color:white}footer{text-align:center;color:#768596;padding:20px}@media(max-width:700px){header{display:block}table{font-size:12px}th,td{padding:6px}}

.catalog-search{display:flex;align-items:end;flex-wrap:wrap;gap:16px}.catalog-search label{flex:1;min-width:190px;margin:0}.catalog-search button{margin:0 0 2px}.pagination{display:flex;flex-wrap:wrap;gap:5px;margin:20px 0}

/* v1.0.7: dense AMS-inspired customer design catalog */
.client-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:6px;align-items:stretch}
.client-catalog-card{min-width:0;background:#fff;border:1px solid #b7d6ea;display:flex;flex-direction:column;overflow:hidden}
.client-catalog-heading{display:flex;align-items:baseline;gap:5px;padding:6px 8px;min-height:32px;color:#146b9c;background:#f8fbfd;white-space:nowrap;overflow:hidden}
.client-catalog-heading strong{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis}
.client-catalog-heading small{font-size:10px;color:#64798a;overflow:hidden;text-overflow:ellipsis}
.client-catalog-picture{height:172px;background:#eee;display:flex;align-items:center;justify-content:center;overflow:hidden}
.client-catalog-picture img{display:block;width:100%;height:100%;object-fit:contain}
.client-catalog-no-image{font-size:12px;color:#708293}
.client-catalog-skus{flex:1;padding:4px 3px 6px;background:#fff}
.client-catalog-sku{font-size:11px;line-height:1.3;font-weight:650;padding:4px 3px;overflow-wrap:anywhere;border-bottom:1px solid #e0edf5}
.client-catalog-sku:nth-child(even){background:#f0f7fb}
.client-catalog-sku:last-child{border-bottom:0}
.client-catalog-empty{color:#82919d;font-weight:400}
.catalog-count{margin:10px 0}
@media(max-width:700px){.client-catalog-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:5px}.client-catalog-picture{height:150px}}

/* v1.0.9: AMS-style customer order entry. Scoped to cart screen. */
main:has(.client-order-screen){max-width:1920px;padding:0 14px;margin:14px auto}
main:has(.client-order-screen)>h1{display:none}
.client-order-screen{color:#233c4f}
.client-order-toolbar{display:flex;align-items:center;gap:18px;border-bottom:1px solid #c4d9e5;background:#fff;padding:11px 15px;margin-bottom:8px;flex-wrap:wrap}
.client-order-title{font-size:21px;font-weight:800;color:#132838}.client-order-title small{font-size:14px;font-weight:500;color:#788c9c}
.client-order-branch{color:#0a779e;font-weight:700}.client-order-total-count{margin-left:auto;font-weight:700;color:#0a779e}
.client-order-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(430px,1fr);gap:10px;align-items:start}
.client-order-left,.client-order-right{background:#fff;border:1px solid #b7d6e4;min-width:0;min-height:540px}
.client-order-panel-head{padding:9px 12px;font-weight:800;color:#0a5f86;border-bottom:1px solid #8ec5dd;background:#eef8fd}
.client-order-scroll{overflow-x:auto}
.client-order-table,.client-order-result-table{width:100%;border-collapse:collapse;font-size:13px}
.client-order-table th,.client-order-result-table th{background:#087d9e;color:white;font-size:12px;white-space:nowrap;padding:9px 6px}
.client-order-table td,.client-order-result-table td{border:1px solid #e0eaf0;vertical-align:middle;padding:7px 6px}
.client-order-table tbody tr:nth-child(even),.client-order-result-table tbody tr:nth-child(even){background:#f4f8fb}
.client-order-table tfoot td{background:#eff7fb;font-weight:800;text-align:right}
.client-order-thumb img{width:48px;height:48px;object-fit:contain}
.client-order-item-desc{font-size:11px;color:#65798b;margin-top:4px;overflow-wrap:anywhere}
.client-order-qty-form,.client-order-add-form{display:flex;gap:4px;align-items:center;white-space:nowrap}
.client-order-qty-form input,.client-order-add-form input{width:66px;min-width:0;margin:0;padding:7px 4px;text-align:center;border:1px solid #aad1e7;border-radius:4px}
.client-order-qty-form button,.client-order-add-form button{margin:0;padding:5px 9px;border-radius:4px}
.client-order-remove{background:transparent;color:#c93e47;padding:2px 8px;font-size:21px}.client-order-remove:hover{background:#fae9eb;color:#a71f29}
.client-order-empty{padding:40px 16px!important;text-align:center;color:#7c8d99}
.client-order-submit{padding:12px;text-align:right;border-top:1px solid #deedf4}.client-order-submit button:disabled{opacity:.5;cursor:not-allowed}
.client-order-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px;align-items:end}
.client-order-search label{min-width:0;margin:0;font-size:12px;font-weight:600;color:#61717c}
.client-order-search input{font-size:13px;margin:5px 0 0;max-width:none;width:100%;padding:8px}
.client-order-search button{grid-column:1/-1;margin:0;padding:8px}
.client-order-hint{padding:40px 16px;text-align:center;color:#83919e}
.client-order-results{padding:0 10px 12px;max-height:64vh;overflow:auto}
.client-order-result{padding:8px 0 12px;border-top:1px solid #e4edf2}
.client-order-result-head{display:flex;align-items:center;gap:12px;padding-bottom:8px;font-size:12px}
.client-order-result-head img,.client-order-noimage{width:80px;height:80px;object-fit:contain;background:#f1f3f5}
.client-order-result-head strong{font-size:20px;color:#1f2f3b}
.client-order-num{color:#657b8d;margin:3px 0}
.client-order-skuimg{height:43px;width:43px;object-fit:contain}
.client-order-result-table td{font-size:12px}.client-order-result-table th:last-child{width:125px}
.client-order-free{border-top:1px solid #c6ddea;padding:13px}
.client-order-free summary{cursor:pointer;font-weight:700;color:#096d96}
.client-order-free-fields{display:grid;grid-template-columns:110px 1fr;gap:12px}
.client-order-alert{background:#fff1ef;border:1px solid #f1ada2;color:#a52e20;padding:11px;margin:8px 0}
@media(max-width:950px){.client-order-columns{grid-template-columns:1fr}.client-order-left,.client-order-right{min-height:0}.client-order-results{max-height:none}}
@media(max-width:540px){.client-order-search{grid-template-columns:1fr}.client-order-table{min-width:520px}.client-order-title{font-size:18px}}

/* v1.0.18 - application-wide sticky navigation and page heading */
:root{--app-header-height:76px}
body>header{position:sticky;top:0;z-index:1200;width:100%;box-shadow:0 1px 5px #0002}
body>main>h1{position:sticky;top:var(--app-header-height);z-index:1100;padding:10px 12px;margin:0 0 12px;background:#f3f6f9;border-bottom:1px solid #dce4ed}
body.book-view>main>h1.book-heading{position:static;padding:0;margin:0 auto 0 0;border:0}
@media(max-width:700px){body>main>h1{font-size:20px;padding:7px 9px}}

/* v1.0.19: unified left-side search results and book panel */
.client-order-right{position:relative}
.client-order-search{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.client-order-search .client-order-book-link{display:flex;align-self:end;justify-content:center;align-items:center;height:36px;min-width:40px;border:1px solid #aed1df;border-radius:4px;font-size:22px;text-decoration:none}
.client-order-drawer{position:fixed;top:var(--app-header-height,65px);left:0;width:min(650px,96vw);height:calc(100dvh - var(--app-header-height,65px));background:white;border-right:1px solid #9ac2d2;z-index:1500;box-shadow:6px 8px 24px #0003;transform:translateX(-106%);visibility:hidden;transition:transform .22s,visibility .22s;display:flex;flex-direction:column}
.client-order-drawer.is-open{transform:translateX(0);visibility:visible}
.client-order-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#eff7fb;border-bottom:1px solid #c6dae3}
.client-order-drawer-head button{font-size:22px;margin:0;padding:3px 12px}
.client-order-drawer-content{overflow:auto;min-height:0;flex:1}
.client-order-drawer-content .book-shell{width:100%;padding:8px!important;margin:0!important;max-width:none}.client-order-drawer-content .book-spread{display:block!important}.client-order-drawer-content .book-sheet{width:100%!important;max-width:100%!important}.client-order-drawer-content .book-empty{display:none!important}
.client-order-tags-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(95px,1fr));gap:10px;padding:12px}
.client-order-tags-gallery a{border:1px solid #d9e6e9;border-radius:5px;padding:5px;display:block}
.client-order-tags-gallery img{width:100%;aspect-ratio:1;object-fit:contain}
.client-draft-dialog{border:1px solid #aac7d8;border-radius:8px;max-width:min(460px,94vw);padding:23px;box-shadow:0 15px 40px #0003}
.client-draft-dialog form{display:inline-block;margin:5px}
@media(max-width:600px){.client-order-search{grid-template-columns:1fr 1fr}.client-order-search label{grid-column:span 2}.client-order-drawer{width:100vw}}

/* v1.0.20 — Tags and Book occupy the panel below search; details use left drawer. */
.client-order-explore{margin:0 10px 12px;background:#fff;border:1px solid #d5e4eb;border-radius:6px;overflow:hidden}
.client-order-explore[hidden]{display:none!important}
.client-order-explore-title{padding:9px 12px;font-weight:700;background:#edf6fa;border-bottom:1px solid #d5e4eb}
.client-order-book-frame{display:block;width:100%;height:min(75vh,850px);border:0;background:white}
.client-order-explore .client-order-tags-gallery{max-height:65vh;overflow:auto}

/* v1.0.21: Inline book and admin customer selection */
.client-customer-picker{max-width:1100px;margin:15px auto;overflow-x:auto}
.client-customer-picker form[method=get]{display:flex;align-items:flex-end;gap:8px;max-width:680px;margin-bottom:14px}
.client-customer-picker form[method=get] label{flex:1}
.client-customer-picker table{width:100%}
.client-order-customer{font-size:13px}.client-order-customer a{margin-left:5px}
.client-order-inline-book{max-height:70vh;overflow:auto;overscroll-behavior:contain;background:#222}
.client-order-inline-book-controls{position:sticky;top:0;z-index:5;padding:6px;background:#edf3f8}
.client-order-inline-book-controls select{width:auto;max-width:100%;margin:0}
.client-order-inline-book .book-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.client-order-inline-book .book-spreads{width:100%;display:block}
.client-order-inline-book .book-spread{display:flex;flex-direction:column}
.client-order-inline-book .book-sheet{width:100%;scroll-margin-top:45px}
.client-order-inline-book .book-sheet.book-empty{display:none}
.client-order-inline-book .book-hit{border:0!important;background:transparent!important}
.client-order-inline-book .book-hit:hover{outline:2px solid #e22}

/* Back-to-top at the bottom right, above footer */
.client-back-top{display:flex;justify-content:flex-end;margin:18px 8px 8px}.client-back-top a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--border,#d5d5d5);text-decoration:none;background:var(--panel,#fff);color:inherit}.client-back-top a:hover{text-decoration:underline}

/* v1.0.23 fixed application chrome and mobile right navigation */
:root{--client-footer-height:48px}
body{padding-bottom:var(--client-footer-height)}
body>header{position:sticky;top:0;z-index:2000;min-height:60px}
body>main{padding-bottom:24px}
body>main>h1{display:block;position:sticky;top:var(--app-header-height,70px);z-index:1100;background:#f3f6f9;box-shadow:0 2px 3px #0001}
body>main:has(.client-order-screen)>h1{display:block;margin:0 0 10px;padding:8px 12px;font-size:21px}
body>footer{position:fixed;left:0;right:0;bottom:0;z-index:1300;background:#f3f6f9;border-top:1px solid #dae4eb;padding:12px 16px;min-height:var(--client-footer-height)}
.client-mobile-menu-toggle{display:none;background:transparent;border:1px solid #ffffff6b;font-size:23px;color:white;padding:3px 10px;line-height:1.25}
.client-mobile-menu-overlay[hidden]{display:none}
@media(max-width:760px){
 body>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 14px}
 .client-mobile-menu-toggle{display:inline-flex;margin:0;align-items:center;justify-content:center}
 body>header>nav{position:fixed;right:0;top:0;bottom:0;max-width:310px;width:min(82vw,310px);display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:0;overflow-y:auto;background:#182d43;box-shadow:-7px 0 24px #0003;transform:translateX(110%);visibility:hidden;transition:transform .2s,visibility .2s;z-index:2201;padding:70px 14px 20px}
 body>header>nav>a{padding:12px 14px;margin:0;border-bottom:1px solid #ffffff22}
 body.client-nav-open>header>nav{transform:translateX(0);visibility:visible}
 .client-mobile-menu-overlay:not([hidden]){position:fixed;inset:0;background:#0008;z-index:2200;display:block}
 body>main{margin-top:10px;padding:0 10px 40px}
 body>main>h1{font-size:19px}
}

/* Book heading also stays visible beneath common header */
body.book-view>main>h1.book-heading{position:sticky;top:var(--app-header-height,70px);z-index:1100;padding:8px 12px;background:#f3f6f9}

/* v1.0.24: Actions at top of orders and new-order pages */
.orders-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}.orders-page-actions .btn{display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}
