.ffm-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;margin-top:24px;max-width:1300px}
.ffm-card{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:24px;min-width:0}
.ffm-card h2{margin-top:0}.ffm-sidebar{align-self:start}.ffm-sidebar ul{margin:0 0 24px;padding:0;list-style:none}
.ffm-sidebar a{display:block;padding:10px 12px;border-radius:5px;text-decoration:none;overflow-wrap:anywhere}.ffm-sidebar .is-selected{background:#edf5ff;color:#135e96;font-weight:600}
.ffm-admin label{display:block;margin:12px 0 6px;font-weight:500}.ffm-sidebar input,.ffm-sidebar select{width:100%;margin-bottom:12px}
.ffm-shortcode{display:flex;gap:8px;flex-wrap:wrap}.ffm-shortcode input{flex:1;min-width:220px;font-family:monospace}
.ffm-folder-settings{margin:20px 0;padding:16px;background:#f8fafc;border:1px solid #dcdcde;border-radius:6px}.ffm-folder-settings h3{margin-top:0}.ffm-folder-settings form{margin:12px 0}
#ffm-upload-form{border:1px dashed #a7aaad;border-radius:6px;background:#f8fafc;padding:20px;margin:24px 0}
#ffm-upload-form h3{margin-top:0}#ffm-files{display:block;margin:12px 0;max-width:100%}#ffm-progress{width:100%;height:18px;margin-top:18px}#ffm-progress[hidden]{display:none}
#ffm-results{overflow-wrap:anywhere;padding-left:20px}.ffm-error{color:#b32d2e}.ffm-success{color:#176537}
.ffm-public{margin:8px 0}.ffm-public h3{margin-bottom:16px}.ffm-table-scroll{overflow-x:auto}.ffm-table{width:100%;border-collapse:collapse;text-align:left;background:var(--ffm-background,#fff);color:var(--ffm-text,#1d2327);line-height:1.5}
.ffm-table th{background:var(--ffm-header,#f6f7f7);color:var(--ffm-header-text,#1d2327);font-weight:600}.ffm-table td,.ffm-table th{padding:14px 16px;border-bottom:1px solid var(--ffm-border,#dcdcde);vertical-align:middle}.ffm-table td{background:var(--ffm-background,#fff)}.ffm-table tbody tr:hover>td,.ffm-table tbody tr:focus-within>td{background:var(--ffm-hover-colour,#e8f2ff);color:var(--ffm-hover-text,#000000)}
.ffm-table tbody tr:hover>td a,.ffm-table tbody tr:focus-within>td a,.ffm-table tbody tr:hover .ffm-icon,.ffm-table tbody tr:focus-within .ffm-icon,.ffm-table tbody tr:hover summary,.ffm-table tbody tr:focus-within summary,.ffm-table tbody tr:hover .button-link-delete,.ffm-table tbody tr:focus-within .button-link-delete{color:var(--ffm-hover-text,#000000)}
.ffm-folder-caption{caption-side:top;text-align:left;padding:4px 16px 8px;font-size:20px;font-weight:600;color:var(--ffm-text,#1d2327);background:var(--ffm-background,#fff)}.ffm-checkbox input{margin-right:6px}.ffm-folder-settings input[type=color]{width:64px;height:36px;vertical-align:middle;margin-right:12px}
.ffm-table a{overflow-wrap:anywhere;color:var(--ffm-link,#135e96);text-decoration:underline;text-underline-offset:3px}.ffm-size{white-space:nowrap}.ffm-type-col{width:72px}.ffm-icon{display:inline-flex;align-items:center;min-width:40px;color:#4f5660}
.ffm-icon svg{width:40px;height:40px}.ffm-icon-image{color:#227149}.ffm-icon-video{color:#7142a5}.ffm-icon-audio{color:#a24e08}.ffm-icon-pdf{color:#b32d2e}.ffm-icon-sheet{color:#157347}.ffm-icon-archive{color:#795d16}.ffm-icon-document{color:#135e96}
.ffm-file-actions{min-width:160px}.ffm-edit-file{margin-bottom:12px}.ffm-edit-file summary{cursor:pointer;color:#135e96}.ffm-edit-file form{min-width:220px;padding:8px 0}.ffm-edit-file input,.ffm-edit-file select{width:100%;max-width:320px;margin-bottom:8px}.ffm-extension{display:block;color:#646970;margin-top:-4px}
.ffm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ffm-tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid #dcdcde;margin:0 0 24px;padding-bottom:10px}.ffm-tabs a{padding:8px 12px;text-decoration:none;border-radius:4px;color:#135e96}.ffm-tabs a.is-selected{background:#135e96;color:#fff}.ffm-colour-field{display:flex;align-items:center;gap:12px;margin:16px 0;flex-wrap:wrap}.ffm-colour-field label{width:180px;margin:0}.ffm-colour-picker{width:54px;height:36px}.ffm-hex{width:110px;font-family:monospace}.ffm-bulk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 0}.ffm-bulk label{margin:0}.ffm-bulk select{max-width:220px}
@media(max-width:782px){.ffm-layout{grid-template-columns:1fr;gap:16px}.ffm-card{padding:16px}.ffm-table td,.ffm-table th{padding:10px}.ffm-shortcode input{min-width:0;width:100%}}



.ffm-table-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;padding:8px;background:var(--ffm-background,#fff);color:var(--ffm-text,#1d2327);font-size:14px}.ffm-pagination ul{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.ffm-pagination li{margin:0}.ffm-pagination a,.ffm-pagination span{display:block;padding:6px 10px;border:1px solid var(--ffm-border,#dcdcde);color:var(--ffm-link,#135e96);border-radius:4px;text-decoration:none}.ffm-pagination .current{background:var(--ffm-hover-colour,#e8f2ff);color:var(--ffm-hover-text,#000);border-color:var(--ffm-border,#dcdcde)}

.ffm-audio-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.ffm-audio-options audio{width:260px;max-width:100%;height:36px}.ffm-audio-options a{white-space:nowrap}

.ffm-video-options{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:8px}.ffm-video-options video{display:block;width:360px;max-width:100%;aspect-ratio:16/9;background:#000;border-radius:4px}.ffm-grid{display:block;border:0;background:transparent}.ffm-grid>caption{display:block}.ffm-grid>thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ffm-grid>tbody{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}.ffm-grid>tbody>tr{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--ffm-border,#dcdcde);border-radius:6px;background:var(--ffm-background,#fff)}.ffm-grid>tbody>tr>td{display:block;border:0;padding:8px 16px;overflow-wrap:anywhere}.ffm-grid>tbody>tr>td:first-child{padding-top:16px}.ffm-grid>tbody>tr>td:last-child{padding-bottom:16px}.ffm-grid .ffm-type-col{width:auto}.ffm-grid .ffm-file-actions{min-width:0}.ffm-grid .ffm-edit-file form{min-width:0}.ffm-grid audio,.ffm-grid video{width:100%;max-width:100%}.ffm-grid .ffm-size{margin-top:auto}.ffm-grid-select-all{margin:12px 0}

.ffm-icon-presentation{color:#b14a1c}
.ffm-types{margin:20px 0;padding:16px;border:1px solid #dcdcde;border-radius:6px}.ffm-types h3{margin-top:0}.ffm-types summary{cursor:pointer;overflow-wrap:anywhere;line-height:1.7}.ffm-types-table{margin-top:12px}.ffm-types-table code{white-space:normal;overflow-wrap:anywhere}.ffm-add-type input{width:100%;max-width:480px}

#ffm-rename-folder{width:100%;max-width:480px;margin-bottom:12px}

.ffm-dark .ffm-icon-image{color:#86efac}.ffm-dark .ffm-icon-video{color:#d8b4fe}.ffm-dark .ffm-icon-audio{color:#fdba74}.ffm-dark .ffm-icon-pdf{color:#fca5a5}.ffm-dark .ffm-icon-sheet{color:#6ee7b7}.ffm-dark .ffm-icon-archive{color:#fde68a}.ffm-dark .ffm-icon-document{color:#93c5fd}.ffm-dark .ffm-icon-presentation{color:#fdba74}.ffm-dark .ffm-edit-file summary{color:var(--ffm-link,#93c5fd)}.ffm-dark .ffm-extension{color:var(--ffm-text,#f3f4f6)}

/* Licence call to action. */
.ffm-admin .button.ffm-pro-licence { background: #69b9e8; border-color: #69b9e8; color: #fff; }
.ffm-admin .button.ffm-pro-licence:hover, .ffm-admin .button.ffm-pro-licence:focus { background: #54a9db; border-color: #54a9db; color: #fff; }

.ffm-date { white-space: nowrap; }

.ffm-admin label[for="ffm-shortcode"] { margin-top: 28px; }

.ffm-indexing-section { margin-top: 28px; }

.ffm-admin .ffm-display-heading { margin-top: 36px; }

.ffm-delete-dialog { box-sizing: border-box; width: min(460px, calc(100vw - 32px)); padding: 28px; border: 0; border-radius: 12px; background: #fff; color: #1d2327; box-shadow: 0 20px 64px rgba(0,0,0,.28); }
.ffm-delete-dialog:not([open]) { display: none; }
.ffm-delete-dialog::backdrop { background: rgba(16,24,40,.55); }
.ffm-delete-dialog h2 { margin: 0 0 12px; font-size: 22px; }
.ffm-delete-dialog p { margin: 0 0 24px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.ffm-delete-dialog-actions { display: flex; justify-content: flex-end; gap: 12px; }
.ffm-delete-dialog-actions .button { padding: 4px 18px; }
.ffm-delete-dialog #ffm-delete-yes { background: #b32d2e; border-color: #b32d2e; color: #fff; }
.ffm-delete-dialog #ffm-delete-yes:hover { background: #8a2424; border-color: #8a2424; }

.ffm-pdf-download { display: inline-block; margin-left: 12px; }
.ffm-report-filter { margin-bottom: 20px; }
.ffm-report-filter .button { margin-left: 8px; }
.ffm-report-table td { overflow-wrap: anywhere; }

.ffm-open-link { display: inline-block; margin-left: 12px; }
.ffm-help { max-width: 900px; }
.ffm-help h3 { margin-top: 28px; }
.ffm-help p { line-height: 1.7; }

.ffm-email-report-settings { margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid #dcdcde; }
.ffm-report-email-error { color: #b32d2e; font-weight: 600; }

.ffm-report-formats { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 4px 16px; padding: 14px 18px; border: 1px solid #ccd6df; margin: 18px 0; border-radius: 6px; }
.ffm-report-formats legend { font-weight: 600; padding: 0 6px; }
.ffm-admin .ffm-report-formats label { margin: 4px 0; }

.ffm-admin .ffm-report-address { width: 25em; max-width: 100%; box-sizing: border-box; }

.ffm-file-buttons { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ffm-table .ffm-action-button { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 6px 12px; border: 1px solid var(--ffm-border,#ccd0d4); border-radius: 4px; background: var(--ffm-header,#f0f0f1); color: var(--ffm-text,#1d2327); text-decoration: none; font: inherit; font-size: 13px; line-height: 1.5; cursor: pointer; margin: 0; }
.ffm-table .ffm-action-button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.ffm-table .ffm-action-button:disabled { opacity: .5; cursor: default; }
.ffm-table tbody tr:hover .ffm-action-button, .ffm-table tbody tr:focus-within .ffm-action-button { background: transparent; color: var(--ffm-hover-text,#1d2327); border-color: currentColor; }
.ffm-description-editor { margin-top: 10px; }
.ffm-description-editor form { margin-top: 12px; padding: 12px; border: 1px solid var(--ffm-border,#ccd0d4); border-radius: 4px; }
.ffm-description-editor label { display: block; margin-bottom: 6px; }
.ffm-description-editor input[type="text"] { box-sizing: border-box; width: 100%; max-width: 360px; padding: 8px; }

.ffm-play-status { display: block; margin-top: 6px; font-size: 13px; }
.ffm-play-status:empty { display: none; }

.ffm-file-buttons { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 0 10px; vertical-align: middle; }
.ffm-table .ffm-action-button { min-height: 26px; padding: 3px 8px; font-size: 12px; line-height: 1.4; white-space: nowrap; }
.ffm-rename-dialog { box-sizing: border-box; width: min(460px,calc(100vw - 32px)); padding: 26px; border: 0; border-radius: 10px; background: #fff; color: #1d2327; box-shadow: 0 20px 64px rgba(0,0,0,.28); }
.ffm-rename-dialog:not([open]) { display: none; }
.ffm-rename-dialog::backdrop { background: rgba(16,24,40,.55); }
.ffm-rename-dialog h2 { margin: 0 0 12px; font-size: 20px; }
.ffm-rename-dialog p { margin: 0 0 18px; line-height: 1.6; }
.ffm-rename-dialog label { display: block; margin-bottom: 8px; }
.ffm-rename-dialog input[type="text"] { box-sizing: border-box; width: 100%; padding: 8px; border: 1px solid #8c8f94; border-radius: 4px; background: #fff; color: #1d2327; font: inherit; }
.ffm-rename-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.ffm-rename-dialog .ffm-dialog-button { padding: 7px 14px; border: 1px solid #8c8f94; border-radius: 4px; background: #f0f0f1; color: #1d2327; font: inherit; cursor: pointer; }
.ffm-rename-dialog .ffm-dialog-button[type="submit"] { background: #135e96; border-color: #135e96; color: #fff; }
.ffm-rename-dialog .ffm-dialog-button:focus-visible { outline: 2px solid #135e96; outline-offset: 2px; }

.ffm-sidebar select[size] { height: auto; min-height: 100px; padding: 5px; }
.ffm-file-name { display: block; }
.ffm-file-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }

.ffm-sidebar .ffm-created-folders-heading { margin-top: 40px; }
.ffm-folder-list { list-style: none; padding: 0; margin: 0; }
.ffm-folder-list li { margin: 0 0 5px; }
.ffm-folder-list a { display: block; padding: 8px 10px; border-left: 3px solid transparent; border-radius: 4px; color: #135e96; text-decoration: none; overflow-wrap: anywhere; }
.ffm-folder-list a:hover, .ffm-folder-list a:focus-visible { background: #f0f4f8; text-decoration: underline; }
.ffm-folder-list a.is-selected { background: #e8f2ff; border-left-color: #135e96; font-weight: 600; }
.ffm-folder-list-pages { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.ffm-help-topics { list-style: none; padding: 0; margin: 20px 0 0; }
.ffm-help-topics > li { margin: 0 0 10px; }
.ffm-help-topic { border: 1px solid #d5dde5; border-radius: 6px; background: #fff; }
.ffm-help-topic > summary { padding: 14px 16px; cursor: pointer; font-size: 14px; font-weight: 600; color: #135e96; }
.ffm-help-topic > summary:hover { background: #f5f8fb; }
.ffm-help-topic > summary:focus-visible { outline: 2px solid #135e96; outline-offset: 2px; }
.ffm-help-topic[open] > summary { border-bottom: 1px solid #d5dde5; background: #edf4fb; }
.ffm-help-instructions { padding: 4px 16px 14px; }
