.sffm{font-family:inherit;border:1px solid #ddd;padding:16px;background:#fff}.sffm-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sffm-search{flex:1;min-width:220px}.sffm-toolbar button,.sffm-breadcrumb button,.sffm-actions button{cursor:pointer}.sffm-status{margin-left:auto}.sffm-status.error{color:#b32d2e}.sffm-breadcrumb{display:flex;gap:8px;margin:12px 0}.sffm-list{display:flex;flex-direction:column;gap:6px}.sffm-row{display:grid;grid-template-columns:32px minmax(180px,1fr) 100px auto;gap:10px;align-items:center;padding:9px;border-bottom:1px solid #eee}.sffm-actions{display:flex;gap:5px;flex-wrap:wrap}.sffm-empty{padding:20px;text-align:center;color:#666}.sffm-login{padding:15px;border:1px solid #ddd}

.sffm-dropzone{margin:14px 0;padding:24px;border:2px dashed #c3c4c7;border-radius:6px;text-align:center;background:#f6f7f7;cursor:pointer;display:flex;flex-direction:column;gap:5px}.sffm-dropzone span,.sffm-dropzone small{color:#646970}.sffm-dropzone.is-dragover{border-color:#2271b1;background:#f0f6fc}.sffm-upload-preview{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.sffm-upload-item{display:flex;justify-content:space-between;gap:12px;padding:7px 10px;background:#f6f7f7;border:1px solid #ddd;border-radius:4px}.sffm-upload-meta{color:#646970;white-space:nowrap}.sffm-admin-search{margin:14px 0}.sffm-admin-search input{min-width:280px}.sffm-admin .tablenav-pages ul.page-numbers{display:flex;gap:4px;align-items:center}.sffm-admin .tablenav-pages .page-numbers{padding:4px 8px;text-decoration:none;border:1px solid #c3c4c7;background:#fff}.sffm-admin .tablenav-pages .page-numbers.current{background:#2271b1;color:#fff;border-color:#2271b1}.sffm-admin table .column-title{width:30%}.sffm-admin table td{vertical-align:middle}

.sffm-modal{position:fixed;inset:0;z-index:99999}.sffm-modal[hidden]{display:none}.sffm-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.sffm-modal-dialog{position:relative;width:min(1100px,92vw);height:min(800px,88vh);margin:5vh auto;background:#fff;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.3);display:flex;flex-direction:column}.sffm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ddd}.sffm-modal-close{border:0;background:none;font-size:24px;cursor:pointer}.sffm-modal-body{flex:1;min-height:0}.sffm-modal-frame{width:100%;height:100%;border:0}

.sffm-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #eee}.sffm-pagination-info{color:#646970;font-size:14px}.sffm-pagination-controls{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.sffm-page-button{min-width:34px;padding:6px 9px;border:1px solid #c3c4c7;background:#fff;border-radius:3px;cursor:pointer}.sffm-page-button:hover:not(:disabled){background:#f6f7f7}.sffm-page-button.current{background:#2271b1;color:#fff;border-color:#2271b1}.sffm-page-button:disabled{cursor:default;opacity:.6}.sffm-page-dots{padding:0 3px;color:#646970}

.sffm-pagination:empty{display:none}.sffm-pagination-info{display:inline-block}.sffm-pagination-controls{display:inline-flex}
.sffm-pagination{display:block!important;min-height:44px;width:100%;box-sizing:border-box}.sffm-pagination-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;padding-top:12px}.sffm-pagination-controls{display:flex!important;align-items:center;gap:4px;flex-wrap:wrap}.sffm-page-button{display:inline-block!important;min-width:34px!important;height:34px!important;padding:5px 10px!important;line-height:22px!important;visibility:visible!important;opacity:1!important}.sffm-page-button.current{font-weight:600}.sffm-pagination:empty{display:none!important}

/* Frontend pagination - intentionally strong enough to survive theme overrides. */
.sffm .sffm-pagination{display:block!important;clear:both!important;width:100%!important;margin:20px 0 0!important;padding:14px 0!important;min-height:46px!important;border-top:1px solid #ddd!important;box-sizing:border-box!important;}
.sffm .sffm-pagination-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;width:100%!important;}
.sffm .sffm-pagination-info{display:inline-block!important;visibility:visible!important;font-size:14px!important;}
.sffm .sffm-pagination-controls{display:flex!important;visibility:visible!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;}
.sffm .sffm-page-button{display:inline-flex!important;visibility:visible!important;align-items:center!important;justify-content:center!important;min-width:36px!important;height:36px!important;padding:5px 10px!important;margin:0!important;cursor:pointer!important;border:1px solid #c3c4c7!important;background:#fff!important;border-radius:3px!important;box-sizing:border-box!important;}
.sffm .sffm-page-button.current{font-weight:600!important;}
.sffm .sffm-pagination-loading{display:block!important;padding:8px 0!important;}

/* Final frontend pagination visibility safeguard. */
.sffm .sffm-inline-pagination,.sffm .sffm-inline-pagination .sffm-pagination-inner,.sffm .sffm-inline-pagination .sffm-pagination-controls{display:flex!important;visibility:visible!important;opacity:1!important;}
.sffm .sffm-inline-pagination{display:block!important;clear:both!important;width:100%!important;min-height:58px!important;margin:20px 0 0!important;padding:14px 0!important;border-top:1px solid #ddd!important;box-sizing:border-box!important;}
.sffm .sffm-inline-pagination .sffm-pagination-inner{align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;width:100%!important;}
.sffm .sffm-inline-pagination .sffm-page-button{display:inline-flex!important;visibility:visible!important;opacity:1!important;}

/* Frontend file pagination: always render after the current 20-file page. */
.sffm .sffm-list > .sffm-inline-pagination {
  display: block !important;
  width: 100% !important;
  flex: 0 0 100% !important;
  clear: both !important;
  box-sizing: border-box !important;
  margin: 24px 0 0 !important;
  padding: 16px 0 !important;
  min-height: 56px !important;
  border-top: 1px solid #ddd !important;
}
.sffm .sffm-list > .sffm-inline-pagination .sffm-pagination-inner {
  display: flex !important;
  width: 100% !important;
  min-height: 40px !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.sffm .sffm-list > .sffm-inline-pagination .sffm-pagination-controls {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
}
.sffm .sffm-list > .sffm-inline-pagination .sffm-page-button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 5px 10px !important;
  margin: 0 !important;
  border: 1px solid #c3c4c7 !important;
  background: #fff !important;
  color: #1d2327 !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
.sffm .sffm-list > .sffm-inline-pagination .sffm-page-button.current {
  background: #2271b1 !important;
  color: #fff !important;
  border-color: #2271b1 !important;
}
.sffm .sffm-list > .sffm-inline-pagination .sffm-page-button:disabled {
  opacity: .55 !important;
  cursor: default !important;
}
