button:disabled{opacity:.35;cursor:not-allowed}.mass-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:0 0 20px}.mass-stat{background:#fff;border:1px solid #e9e0e0;border-radius:13px;padding:17px;display:grid;gap:5px}.mass-stat strong{font:700 30px "DM Sans",sans-serif;color:#4d3444}.mass-stat span{color:#81747b;font-size:11px}.mass-quick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.quick{border:1px solid #e7dadb;border-radius:20px;padding:9px 15px;background:#fff;color:#664d58;font-size:12px}.quick.active{background:#422f3c;color:white;border-color:#422f3c}.mass-filters{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:11px;align-items:end}.mass-filters label{font-size:11px;font-weight:700;display:grid;gap:7px}.mass-filters input,.mass-filters select{min-width:0;width:100%;border:1px solid #ddd3d6;background:#fefcfc;border-radius:8px;padding:10px 11px;min-height:44px}.mass-filters .image-control{display:flex;gap:5px;align-items:center;white-space:nowrap;height:44px}.mass-filters .image-control input{width:16px;min-height:16px}.mass-actions{margin:22px 0 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mass-actions span{margin-inline-end:auto;font-size:12px;font-weight:700}.mass-actions button,.pagination button{border:1px solid #d9c9cf;background:#fff;border-radius:8px;padding:9px 13px;font-size:11px;font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.product-tile{min-width:0;border:1px solid #eee3e2;background:#fff;border-radius:14px;overflow:hidden;display:flex;flex-direction:column}.product-thumb{position:relative;background:#f5f0ee;aspect-ratio:5/4;display:grid;place-items:center;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.product-thumb .empty{font-size:28px;color:#ad9ca6;font-family:serif}.picture-tag{position:absolute;bottom:7px;right:7px;font-size:9px;color:#624a55;background:#fdf9f5ed;border:1px solid #e6dad7;border-radius:18px;padding:3px 8px}.tile-body{padding:13px;display:flex;flex-direction:column;gap:6px;flex:1}.tile-brand{font-size:10px;color:#9b6176;font-weight:800;letter-spacing:.02em}.tile-title{font-size:13px;line-height:1.75;min-height:54px;margin:0;word-break:break-word}.tile-meta{font-size:10px;color:#877b82;line-height:1.65}.tile-footer{display:flex;gap:7px;align-items:center;margin-top:auto;padding-top:11px}.tile-footer a{font-size:11px;color:#9c576b;text-decoration:underline;text-underline-offset:2px}.tile-footer button{margin-inline-start:auto;padding:8px 10px;border:1px solid #4e3644;color:#4e3644;background:#fff;border-radius:7px;font-size:11px;white-space:nowrap}.tile-footer button.added{background:#4e3644;color:#fff}.tile-source{padding:0 13px 13px;font-size:9px;color:#9a8b91}.pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:20px}.pagination span{font-size:12px;color:#66515e}.selected-summary{border:1px solid #e8e0df;background:#faf6f5;border-radius:10px;padding:15px;font-size:12px;line-height:1.9;margin-bottom:12px}.source-credits{display:grid;grid-template-columns:1fr 1fr;gap:16px}.source-credits div{border:1px solid #ece4e1;border-radius:10px;padding:15px}.source-credits strong{font-size:13px}.source-credits p{font-size:11px;line-height:1.8;color:#766974}.source-credits a{font-size:11px;color:#955467;text-decoration:underline}@media(max-width:1180px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:790px){.mass-stats{grid-template-columns:repeat(2,1fr)}.mass-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.mass-filters .image-control{grid-column:span 2}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.source-credits{grid-template-columns:1fr}.mass-actions span{flex-basis:100%}}@media(max-width:490px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile-body{padding:10px}.tile-title{font-size:11px;min-height:60px}.tile-footer{flex-direction:column;align-items:stretch}.tile-footer button{margin:0}.tile-footer a{text-align:center}.tile-source{padding:0 10px 10px}.mass-quick .quick{font-size:10px;padding:8px 10px}}
/* Prevent adjacent long research filter blocks from intercepting tap targets
   on narrow mobile viewports. Preserve standard button hit-testing. */
.factory-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.factory-action>button{padding:12px 18px;border:1px solid #432d3b;border-radius:9px;font-weight:700}
.factory-action>a{color:#805167;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.factory-action>small{flex-basis:100%;font-size:11px;color:#88757e}
@media(max-width:490px){
 .mass-stats,.mass-filters{position:relative;z-index:0}
 .mass-actions{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .mass-actions span{grid-column:1/-1}
 .mass-actions button{position:relative;z-index:3;min-width:0;width:100%;min-height:44px;white-space:normal}
 .factory-action{display:grid}
 .factory-action>button{min-height:50px}
}

/* Width containment: sidebar's horizontally-scrolling navigation must not
   force the 390px mobile viewport into a 702px CSS layout viewport. */
@media(max-width:1050px){
 html,body{max-width:100%;min-width:0}
 .shell{display:block;max-width:100%;min-width:0;width:100%}
 .sidebar{max-width:100%;min-width:0;width:100%;overflow:hidden}
 .sidebar nav{display:flex;min-width:0;max-width:100%;width:100%;overflow-x:auto}
 main,.page,.panel{min-width:0;max-width:100%;width:100%}
 .mass-quick,.mass-actions,.mass-filters,.mass-stats,.factory-action{min-width:0;max-width:100%}
 .mass-quick{overflow-x:auto}
}
