:root{font-family:system-ui,sans-serif;color:#24392d;background:#f7f5ef}body{max-width:1100px;margin:auto;padding:24px}a{color:#226342}h1{font-size:2.4rem}section,.card{background:white;border:1px solid #d6dfd4;border-radius:16px;padding:24px;margin:20px 0}nav{display:flex;gap:22px;flex-wrap:wrap}button,input,select,textarea{font:inherit;padding:12px;border-radius:8px;border:1px solid #80988a}button{background:#23633e;color:white;cursor:pointer}button:disabled{opacity:.5;cursor:default}label{display:grid;gap:6px;margin:14px 0}input,textarea{min-width:0}form{max-width:650px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.card img{width:100%;height:190px;object-fit:cover;border-radius:10px}.quantity{font-size:1.8rem;font-weight:bold}.status{padding:18px;background:#edf4ed;border-left:5px solid #39774c;white-space:pre-wrap}.error{background:#fff0ed;border-color:#a22;color:#872a21}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}td,th{text-align:left;padding:12px;border-bottom:1px solid #ddd}.muted{color:#52665a}#barcode{font-size:1.6rem}#queue{font-weight:bold}small{display:block}button+a{margin-left:15px}

.photo-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}#photo-preview{max-width:220px;max-height:180px;object-fit:contain;margin-top:16px}#photo-picker{border:1px solid #b9cbbd;border-radius:12px;padding:16px;margin:16px 0}.photo-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;max-height:440px;overflow:auto}.photo-option{display:flex;flex-direction:column;gap:8px;align-items:center;background:#f4f8f2;color:#24392d;border:1px solid #b9cbbd;overflow-wrap:anywhere;min-width:0}.photo-option img{height:100px;width:100%;object-fit:contain}.photo-option span{max-width:100%}

.photo-options{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:340px}.photo-option{padding:10px;border-radius:10px}.photo-option>span{font-size:.8rem;line-height:1.3}.photo-option img{height:80px}.photo-option button{font-size:.85rem;padding:8px;width:100%}.photo-thumbnail{background:white;color:#245336;cursor:zoom-in}.photo-thumbnail span{display:block;font-size:.75rem}#enlarge-selected{background:#f4f8f2;color:#245336;max-width:180px;padding:8px;margin-top:12px;cursor:zoom-in}#enlarge-selected span{display:block;font-size:.8rem}#photo-preview{display:block;max-width:160px;max-height:100px;margin:0 auto 6px}#photo-dialog{width:min(850px,90vw);max-height:90vh;box-sizing:border-box;padding:20px;border:0;border-radius:14px;color:#24392d}#photo-dialog::backdrop{background:rgba(0,0,0,.7)}.photo-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:16px}.photo-dialog-header h2{font-size:1.1rem;overflow-wrap:anywhere}#enlarged-photo{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}[hidden]{display:none!important}

/* Public product photos stay thumbnail-sized; enlargement is opt-in. */
.farm-public #products{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),320px));justify-content:start;align-items:start}
.farm-public .card{margin:0;padding:18px;min-width:0;overflow-wrap:anywhere}
.farm-public .card h2{font-size:1.3rem;margin:12px 0 8px}
.farm-public .card .quantity{font-size:1.35rem}
.farm-public .public-thumbnail{display:block;width:130px;padding:8px;background:#f4f8f2;color:#245336;cursor:zoom-in}
.farm-public .card .public-thumbnail img{display:block;width:112px;height:84px;max-width:112px;object-fit:contain;border-radius:5px;margin:0}
.farm-public .public-thumbnail span{display:block;font-size:.75rem;margin-top:5px}
#public-photo-dialog{width:min(850px,90vw);max-height:90vh;box-sizing:border-box;padding:20px;border:0;border-radius:14px;color:#24392d}
#public-photo-dialog::backdrop{background:rgba(0,0,0,.7)}
#public-photo-large{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto}

/* Unified product manager */
.visibility label{display:flex;align-items:center;gap:10px}.visibility input{width:20px;height:20px}.visibility{border:1px solid #b9cbbd;border-radius:10px;padding:16px;margin:18px 0}.visibility p{font-size:.9rem}.manager-product{border-bottom:1px solid #d6dfd4;padding:16px 0}.manager-product h3{margin:0}.manager-product p{margin:8px 0}.manager-product button{margin:0 8px 8px 0}#product-list{max-height:560px;overflow:auto}html{scroll-padding-top:20px}section,fieldset{min-width:0}input,select,textarea{max-width:100%;box-sizing:border-box} @media(max-width:600px){body{padding:14px}section{padding:16px}h1{font-size:2rem}}
form,label{min-width:0}label{grid-template-columns:minmax(0,1fr)}select{width:100%;min-width:0}.manager-product{overflow-wrap:anywhere}

.manager-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:24px 0}.manager-menu a{display:flex;align-items:center;padding:14px 16px;border:1px solid #b9cbbd;border-radius:10px;background:white;text-decoration:none;font-weight:650}.manager-menu a[aria-current=page]{background:#23633e;color:white;border-color:#23633e}.manager-menu a:focus-visible{outline:3px solid #aa791e;outline-offset:3px}[data-manager-panel][hidden]{display:none!important}#manager-feedback{padding:16px;border:1px solid #b9cbbd;border-radius:12px;background:white}#manager-feedback .status{margin-top:0}#manager-feedback button{margin-right:8px}@media(max-width:640px){.manager-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manager-menu a{font-size:.9rem;padding:12px;overflow-wrap:anywhere}}
