#productForm[hidden] { display: none !important; }
.billz-editor { max-width: 1100px; color: #211e1a; }
.billz-editor section { padding: 20px 0; border-bottom: 1px solid #ddd; }
.billz-editor h3 { font-size: 20px; margin: 0 0 16px; }
.billz-editor label { display: block; font-size: 14px; }
.billz-editor input:not([type=checkbox]), .billz-editor select, .billz-editor textarea { width: 100%; min-width: 0; border: 1px solid #bbb; border-radius: 5px; background: #fff; color: #211e1a; padding: 12px; margin: 6px 0 14px; font: inherit; }
.billz-editor button { border: 1px solid #bbb; border-radius: 5px; background: #fff; color: #211e1a; padding: 10px 14px; cursor: pointer; }
.billz-editor button:disabled { opacity: .5; cursor: default; }
.billz-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 10px; }
.billz-search-row button { margin-top: 6px; min-height: 46px; }
.billz-editor p { font-size: 14px; line-height: 1.5; margin: 10px 0; }
#billzReport { color: #7b421c; overflow-wrap: anywhere; }
.billz-colors { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 16px; }
.billz-color { border: 1px solid #cfcfcf; border-radius: 8px; padding: 16px; min-width: 0; background: #fff; }
.billz-editor .billz-check { display: flex; align-items: center; gap: 10px; }
.billz-check input { width: 19px; height: 19px; flex-shrink: 0; accent-color: #216851; }
.billz-sizes { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.billz-sizes li { display: flex; flex-direction: column; gap: 4px; padding: 8px; background: #f1f3f2; border-radius: 4px; font-size: 13px; }
.billz-sizes span { color: #666; font-size: 12px; }
.billz-photo-zone { border-top: 1px solid #ddd; padding-top: 12px; outline-offset: 4px; }
.billz-photo-zone:focus { outline: 2px solid #216851; }
.billz-photo-zone small { display: block; color: #666; margin-top: 8px; }
.billz-photo-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(115px,1fr)); gap: 10px; }
.billz-photo { min-width: 0; }
.billz-photo img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; border-radius: 4px; }
.billz-photo div { display: flex; gap: 3px; margin: 4px 0 10px; }
.billz-photo button { padding: 6px; font-size: 12px; width: 34px; height: 36px; flex-shrink: 0; }
.billz-photo button.is-main { color: #216851; background: #e6f1ed; border-color: #216851; }
.billz-editor .billz-file { cursor: pointer; position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #bbb; border-radius: 5px; margin-top: 8px; }
.billz-editor .billz-file input { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; opacity: 0; }
.billz-file:focus-within { outline: 2px solid #216851; outline-offset: 2px; }
.billz-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
.billz-editor-actions { position: sticky; bottom: 0; z-index: 5; display: flex; justify-content: flex-end; gap: 12px; padding: 16px 0; background: #fff; border-top: 1px solid #ddd; }
#billzSave { background: #216851; color: #fff; border-color: #216851; }
@media (max-width: 600px) {
    .billz-colors, .billz-fields { grid-template-columns: minmax(0,1fr); }
    .billz-editor input, .billz-editor select, .billz-editor textarea { font-size: 16px !important; }
    .billz-color { padding: 12px; }
    .billz-editor-actions { padding-bottom: max(12px,env(safe-area-inset-bottom)); }
    #billzSave { flex: 1; }
}
