:root{font-family:Arial,sans-serif;color:#251f21;background:#f4efec;line-height:1.6}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:32px;background:white;min-height:100vh}h1,h2,h3{font-family:Georgia,serif;font-weight:normal;line-height:1.2}h1{font-size:34px;margin:0 0 12px}h2{font-size:25px}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#585254}label{display:block;margin:12px 0;font-size:14px}input,textarea,select{display:block;width:100%;font:inherit;color:inherit;padding:12px;border:1px solid #c0bebf;border-radius:4px;background:white}textarea{min-height:110px}button{font:inherit;border:1px solid #c0bebf;border-radius:4px;background:white;color:inherit;padding:10px 16px;min-height:44px;cursor:pointer}button:hover,button[aria-current=true]{background:#e8f1ed;border-color:#73a89a}button:disabled{opacity:.5;cursor:wait}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.search{flex:1;min-width:220px}.toolbar label{margin:0}nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}article>section{border-top:1px solid #eae9ea;padding:20px 0}.product{border:1px solid #eae9ea;padding:20px;margin:16px 0;border-radius:8px}.note{white-space:pre-wrap;overflow-wrap:anywhere}.muted{color:#585254;font-size:13px}.warning{background:#f4efec;padding:12px;border-radius:4px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:12px 0}.gallery button{padding:0;overflow:hidden}.gallery img{display:block;width:100%;height:140px;object-fit:contain;background:#f4efec}dialog{border:1px solid #eae9ea;border-radius:12px;width:min(620px,94vw);max-height:92vh;overflow:auto;padding:24px}dialog::backdrop{background:#251f2199}#viewer{width:min(1000px,96vw)}#full-photo{width:100%;max-height:75vh;object-fit:contain}#form-error{color:#b82020}#login{max-width:440px}#status{color:#585254}pre{white-space:pre-wrap;overflow-wrap:anywhere}a{color:#386e60} @media(max-width:600px){main{padding:22px}h1{font-size:29px}.toolbar>button{flex:1} .product{padding:15px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

.test-banner{padding:14px;background:#f6f2ef;border-radius:8px;font-size:14px;line-height:1.5;}
main{max-width:1280px;padding:30px 36px}header .eyebrow{margin:0 0 6px}h1{font-size:34px}.test-banner{margin:14px 0;padding:9px 12px}#status{font-size:12px;margin:6px 0 18px}.toolbar{align-items:center}#factory-list{margin:0}.catalog-heading{display:flex;justify-content:space-between;gap:22px;align-items:center;border:0;padding:22px 0 12px}.catalog-heading h2{margin:0;font-size:28px}.catalog-heading p{margin:3px 0}.factory-details{max-width:430px}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0;padding:0}.product{padding:0;margin:0;border:1px solid #eae9ea;border-radius:12px;overflow:hidden;min-width:0}.product .gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;margin:0;background:#f4efec}.product .gallery button{border:0;border-radius:0;padding:16px;min-width:100%;width:100%;scroll-snap-align:start}.product .gallery img{height:270px;object-fit:contain;width:100%}.product-copy{padding:18px}.product h3{font-family:Arial,sans-serif;font-weight:600;font-size:16px;line-height:1.35;margin:0 0 10px;min-height:43px}.price{color:#386e60;font-size:24px;font-weight:600;margin:0 0 16px;line-height:1.3}.price span{display:block;color:#585254;font-size:11px;font-weight:400;margin-top:4px}summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-size:13px;color:#386e60}summary::before{content:'+';font-size:19px}details[open]>summary::before{content:'−'}.product details{border-top:1px solid #eae9ea;padding-top:6px}.product details p{font-size:13px}.supporting{margin-top:28px;border-top:1px solid #eae9ea;padding:14px 0}.supporting summary{font-size:16px}#export,#logout{font-size:12px;padding:8px 12px}.gallery button:hover{background:#ece5df}@media(max-width:700px){main{padding:20px}.catalog-grid{grid-template-columns:1fr;gap:20px}.catalog-heading{display:block;padding:18px 0 12px}.factory-details{margin-top:7px}.catalog-heading h2{font-size:26px}.product .gallery img{height:290px}.product h3{min-height:0}h1{font-size:30px}.toolbar label{min-width:100%;flex:1}.toolbar>button{flex:0 1 auto}.test-banner{font-size:12px}#status{display:none}.product-copy{padding:16px}header .eyebrow{font-size:10px}header h1{margin-bottom:0}}

@font-face{font-family:CatalogBody;src:url(body.ttf)}@font-face{font-family:CatalogTitle;src:url(title.ttf)}:root{font-family:CatalogBody,Arial,sans-serif}h1,h2,h3{font-family:CatalogTitle,Georgia,serif}.product h3{font-family:CatalogBody,Arial,sans-serif}.product .gallery{position:relative}.catalog-heading .eyebrow{font-size:10px;letter-spacing:.1em}.catalog-heading .muted{font-size:12px}.product-copy{background:white}.search input{background:#fdfcfb}.catalog-heading{border-top:1px solid #eae9ea;margin-top:18px}.catalog-heading>div{flex:1}#status{display:none}

.catalog-tools{position:relative}.catalog-tools[open]{background:white;z-index:2}.catalog-tools summary{padding:8px 12px}.catalog-tools[open] button{display:block;white-space:nowrap}.catalog-tools[open] #export{margin-bottom:6px}.toolbar .search{min-width:0}.factory-details summary{white-space:nowrap}.product:has(.price:first-child){color:#585254}@media(max-width:700px){main{padding:18px 20px}.test-banner{padding:8px 10px;margin:10px 0;font-size:11px}.toolbar{flex-wrap:nowrap;gap:8px}.toolbar label{min-width:0}.search{font-size:12px}input{padding:9px;font-size:13px}.catalog-tools summary{font-size:12px;padding:8px 0}.catalog-tools[open]{position:absolute;right:20px;box-shadow:0 4px 20px #0002;padding:8px}.catalog-heading{margin-top:14px;padding:14px 0 8px}.catalog-heading .eyebrow{display:none}.catalog-heading h2{font-size:25px}.factory-details{margin-top:0}.factory-details summary{min-height:36px;font-size:12px}.product .gallery img{height:240px}.product .gallery button{padding:12px}.product-copy{padding:14px 16px}.product h3{font-size:16px;margin:0 0 8px}.price{margin-bottom:9px}.product details{padding-top:2px}}

#factory-list{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}#factory-list button[aria-current="true"]{background:#42796b;color:white}.source-record pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.5 Arial,sans-serif}.catalog-heading>.muted{max-width:70ch}

.note,.muted,.warning{overflow-wrap:anywhere}.price{white-space:pre-line}

.visit-date{color:#42796b;font-weight:600}.search-results{padding:12px;background:#f4efec;border-radius:6px}
