.gallery-field{margin-bottom:24px}.gallery-field__label{margin-bottom:4px}.gallery-field__description{color:var(--theme-elevation-500);margin:0 0 8px;font-size:13px}.gallery-field__loading{color:var(--theme-elevation-500);justify-content:center;align-items:center;padding:48px 24px;font-size:14px;display:flex}.gallery-field__grid{grid-template-columns:repeat(auto-fill,minmax(var(--gallery-thumb-size,160px),1fr));gap:8px;max-height:70vh;padding:8px 0;display:grid;overflow-y:auto}.gallery-field__thumbnail{border-radius:var(--style-radius-s,4px);background:var(--theme-elevation-100);cursor:grab;-webkit-user-select:none;user-select:none;font:inherit;color:inherit;text-align:inherit;border:none;padding:0;position:relative;overflow:hidden}.gallery-field__thumbnail:hover{outline:2px solid var(--theme-elevation-400)}.gallery-field__thumbnail:hover .gallery-field__thumbnail-checkbox{opacity:1}.gallery-field__thumbnail--dragging{opacity:.5;cursor:grabbing}.gallery-field__thumbnail--selected{outline:2px solid var(--theme-success-500,#22c55e)}.gallery-field__thumbnail--selected .gallery-field__thumbnail-checkbox{opacity:1}.gallery-field__thumbnail-image{object-fit:cover;width:100%;height:100%;display:block}.gallery-field__thumbnail-checkbox{z-index:2;opacity:0;cursor:pointer;transition:opacity .15s;position:absolute;top:6px;left:6px}.gallery-field__thumbnail-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--theme-success-500,#22c55e)}.gallery-field__thumbnail-filename{color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#0009;padding:2px 6px;font-size:10px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.gallery-field__empty{border:2px dashed var(--theme-elevation-200);border-radius:var(--style-radius-s,4px);text-align:center;color:var(--theme-elevation-500);flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.gallery-field__empty-icon{color:var(--theme-elevation-300);margin-bottom:12px}.gallery-field__empty-text{color:var(--theme-elevation-600);margin:0 0 4px;font-size:16px;font-weight:500}.gallery-field__empty-hint{margin:0;font-size:13px}.gallery-field__empty-hint .gallery-field__empty-hint-button{color:var(--theme-text);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.gallery-field__empty-hint .gallery-field__empty-hint-button:hover{color:var(--theme-success-500,#22c55e)}.gallery-field__dropzone{min-height:100px;position:relative}.gallery-field__dropzone--active{outline:2px dashed var(--theme-success-500,#22c55e);outline-offset:-2px;border-radius:var(--style-radius-s,4px)}.gallery-field__dropzone-overlay{z-index:10;color:#fff;border-radius:var(--style-radius-s,4px);pointer-events:none;background:#0006;justify-content:center;align-items:center;font-size:16px;font-weight:500;display:flex;position:absolute;inset:0}.gallery-field__upload-progress{padding:8px 0}.gallery-field__upload-summary{color:var(--theme-elevation-600);margin-bottom:8px;font-size:13px;font-weight:500}.gallery-field__upload-list{flex-direction:column;gap:4px;display:flex}.gallery-field__upload-item{align-items:center;gap:8px;font-size:12px;display:flex}.gallery-field__upload-item--error{color:var(--theme-error-500,#ef4444)}.gallery-field__upload-item--complete{color:var(--theme-success-500,#22c55e)}.gallery-field__upload-filename{white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:200px;overflow:hidden}.gallery-field__upload-bar{background:var(--theme-elevation-150);border-radius:2px;flex:1;height:4px;overflow:hidden}.gallery-field__upload-bar-fill{background:var(--theme-success-500,#22c55e);border-radius:2px;height:100%;transition:width .2s}.gallery-field__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.gallery-field__toolbar-left,.gallery-field__toolbar-right{align-items:center;gap:8px;display:flex}.gallery-field__toolbar-button{border:1px solid var(--theme-elevation-250);border-radius:var(--style-radius-s,4px);background:var(--theme-elevation-50);color:var(--theme-text);cursor:pointer;white-space:nowrap;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.gallery-field__toolbar-button:hover:not(:disabled){background:var(--theme-elevation-100);border-color:var(--theme-elevation-400)}.gallery-field__toolbar-button:disabled{opacity:.5;cursor:not-allowed}.gallery-field__toolbar-button--danger{color:var(--theme-error-500,#ef4444);border-color:var(--theme-error-200,#fecaca)}.gallery-field__toolbar-button--danger:hover:not(:disabled){background:var(--theme-error-50,#fef2f2);border-color:var(--theme-error-500,#ef4444)}.gallery-field__toolbar-count{color:var(--theme-elevation-500);font-size:13px}
