/* ATF Hosting & Delivery file-operation UI. Namespaced to avoid global changes. */
body.atf-ops-modal-open {overflow:hidden}
.atf-ops-overlay[hidden],.atf-ops-progress[hidden]{display:none!important}
.atf-ops-overlay{position:fixed;inset:0;z-index:2147483200;display:flex;align-items:center;justify-content:center;padding:20px}
.atf-ops-shade{position:absolute;inset:0;background:rgba(2,8,19,.78);backdrop-filter:blur(9px)}
.atf-ops-dialog{position:relative;width:min(520px,100%);max-height:90vh;overflow:auto;border-radius:18px;border:1px solid #315067;background:linear-gradient(145deg,#14273d,#080f1c 80%);box-shadow:0 26px 90px #000b;color:#f4faff;font:14px/1.5 Inter,Arial,sans-serif}
.atf-ops-dialog-top,.atf-ops-dialog-main,.atf-ops-dialog-actions{padding:22px 26px}
.atf-ops-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #284158}
.atf-ops-dialog-top small{color:#55c8ec;font-size:10px;letter-spacing:2px;font-weight:800}.atf-ops-dialog-top h2{font-size:23px;color:#fff;margin:6px 0 0}
.atf-ops-dialog-top button{cursor:pointer;background:#263b51;border:1px solid #48627b;color:white;width:32px;height:32px;border-radius:9px;font-size:22px;line-height:1}
.atf-ops-dialog-main p{margin:0 0 16px;color:#b9cede}.atf-ops-dialog-main label{display:block;color:#e5f6ff;font-weight:700;margin-bottom:9px}
.atf-ops-dialog-main select{background:#101c2b;color:white;border:1px solid #396078;border-radius:10px;padding:13px 12px;display:block;width:100%;min-height:50px;box-sizing:border-box}
.atf-ops-dialog-note{margin-top:16px;color:#9fbbcb;font-size:12px}.atf-ops-dialog-main .atf-ops-error{margin-top:12px;color:#ffb6c2!important}
.atf-ops-dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #284158}.atf-ops-dialog-actions button{border-radius:9px;padding:11px 16px;cursor:pointer;font-weight:700}
.atf-ops-dialog-actions button:disabled{opacity:.5;cursor:not-allowed}.atf-ops-progress{position:fixed;bottom:22px;right:22px;z-index:2147483100;width:min(365px,calc(100vw - 28px));border:1px solid #38627b;border-radius:15px;background:#0d1b2d;color:#f5faff;box-shadow:0 12px 40px #0008;font:13px Inter,Arial,sans-serif;overflow:hidden}
.atf-ops-progress-head{background:#152f45;display:flex;align-items:center;justify-content:space-between;padding:12px 15px}.atf-ops-progress-head button{background:#29465c;color:white;border:0;border-radius:6px;width:27px;height:27px;margin-left:4px;cursor:pointer}
.atf-ops-progress.is-collapsed .atf-ops-progress-body{display:none}.atf-ops-progress-body{padding:12px 15px;max-height:40vh;overflow-y:auto}
.atf-ops-progress-job{padding:7px 0 12px;border-bottom:1px solid #264457}.atf-ops-progress-job:last-child{border-bottom:0}.atf-ops-progress-line{display:flex;justify-content:space-between}.atf-ops-progress-line span{color:#a7c6d8}.atf-ops-progress-track{height:6px;border-radius:8px;background:#2d4554;margin:10px 0;overflow:hidden}.atf-ops-progress-fill{height:100%;background:#45c8e8;border-radius:8px}.atf-ops-progress-job p{margin:5px 0;color:#bcd1df;word-break:break-word}.atf-ops-progress-job .atf-ops-progress-warning{color:#ffb6c2}
/* Video action entries: inherit the ORIGINAL video-card menu typography. */
.atf-file-op-bulk{white-space:nowrap}
.atf-video-card-menu .atf-folder-menu-pop button.atf-file-op-launch{
  appearance:none;width:100%;display:flex;align-items:center;gap:8px;
  padding:8px 9px;margin:0;min-height:30px;box-sizing:border-box;
  background:transparent;border:0;border-radius:7px;box-shadow:none;
  color:#c7d5e5!important;text-align:left;text-transform:none;
  font-family:inherit!important;font-size:11px!important;font-weight:750!important;
  line-height:1.2!important;letter-spacing:normal!important;cursor:pointer
}
.atf-video-card-menu .atf-folder-menu-pop button.atf-file-op-launch:hover,
.atf-video-card-menu .atf-folder-menu-pop button.atf-file-op-launch:focus-visible{
  background:rgba(53,110,169,.13);color:#eef7ff!important
}
.atf-video-card-menu .atf-folder-menu-pop button.atf-file-op-launch svg{
  width:14px;height:14px;flex:0 0 14px;fill:none;
  stroke:#66b8ff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
.atf-video-card-menu .atf-folder-menu-pop button.atf-file-op-launch span{
  font:inherit!important;letter-spacing:normal!important;white-space:nowrap
}
/* Keep Delete as the LAST, rightmost bulk action, without changing original bar. */
.atf-bulk-delete-bar .atf-bulk-delete-confirm{order:10;margin-left:4px}
.atf-bulk-delete-bar .atf-file-op-bulk{order:5}
.atf-bulk-delete-bar [data-atf-bulk-cancel]{order:0}
@media(max-width:600px){
  .atf-bulk-delete-bar .atf-file-op-bulk{font-size:11px;white-space:nowrap}
}

/* Prevent a new selection while a copy/move operation is active. */
.atf-delete-select-button:disabled,.atf-file-op-launch:disabled,.atf-file-op-bulk:disabled{
  opacity:.43!important;cursor:not-allowed!important;pointer-events:none!important
}

/* v2.0.270 — real inline SVG dots are rendered in portal PHP for both images and videos. */
.atf-image-card .atf-video-card-menu > summary::after{content:none!important;display:none!important}

/* Custom folder picker: matches the app's dark/cyan palette, independent of browser OS menus. */
.atf-ops-dialog{overflow:visible}
.atf-ops-dialog-main{position:relative;z-index:3}
.atf-ops-dialog-main select[data-ops-folder]{display:none!important}
.atf-ops-folder-picker{position:relative}
.atf-ops-folder-toggle{width:100%;min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:11px 14px!important;box-sizing:border-box;background:#101e30!important;border:1px solid #3b566f!important;border-radius:11px!important;box-shadow:none!important;color:#f2f7fd!important;font:600 13px/1.35 Inter,Arial,sans-serif!important;cursor:pointer;transition:border-color .15s,background .15s}
.atf-ops-folder-toggle:hover,.atf-ops-folder-toggle[aria-expanded="true"]{border-color:#64b9e5!important;background:#132840!important}
.atf-ops-folder-toggle svg{display:block;width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#8fb9d9;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.atf-ops-folder-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.atf-ops-folder-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.atf-ops-folder-list[hidden]{display:none!important}
.atf-ops-folder-list{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:50;max-height:min(260px,35vh);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:5px;background:#101b2b;border:1px solid #42647f;border-radius:12px;box-shadow:0 20px 42px #000b;scrollbar-width:thin;scrollbar-color:#4e789a #101b2b}
.atf-ops-folder-list button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;min-height:39px;box-sizing:border-box;border:0!important;border-radius:8px!important;background:transparent!important;color:#dce9f4!important;font:600 12px/1.35 Inter,Arial,sans-serif!important;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-shadow:none!important}
.atf-ops-folder-list button:hover,.atf-ops-folder-list button:focus-visible{background:#19334b!important;color:#fff!important;outline:1px solid #447aa1!important}
.atf-ops-folder-list button[aria-selected="true"]{background:#1a3f59!important;color:#7bddff!important}
.atf-ops-folder-list .atf-ops-folder-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:#59c5e8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.atf-ops-folder-toggle:focus-visible{outline:2px solid #7bd8f1;outline-offset:2px}
@media(max-height:540px){.atf-ops-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}.atf-ops-folder-list{max-height:120px}}
@media(max-width:600px){.atf-ops-dialog-top,.atf-ops-dialog-main,.atf-ops-dialog-actions{padding-left:17px;padding-right:17px}.atf-ops-folder-list{max-height:min(210px,32vh)}}
/* Render dropdown chevron with CSS rather than relying on theme-wide SVG path rules. */
.atf-ops-folder-toggle>svg{display:none!important}
.atf-ops-folder-toggle::after{content:"";display:block;flex:0 0 8px;width:8px;height:8px;border-right:2px solid #9fc9e7;border-bottom:2px solid #9fc9e7;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.atf-ops-folder-toggle[aria-expanded="true"]::after{transform:translateY(3px) rotate(225deg)}

/* v2.0.271: Searchable folder picker when >10 permitted destinations. */
.atf-ops-folder-toggle[hidden],.atf-ops-folder-search[hidden],.atf-ops-dialog-main [data-ops-count][hidden]{display:none!important}
.atf-ops-folder-search{width:100%!important;min-width:0;min-height:49px!important;box-sizing:border-box!important;
 padding:11px 38px 11px 14px!important;border:1px solid #3b566f!important;border-radius:11px!important;
 outline:none!important;background:#101e30!important;color:#f2f7fd!important;font:600 13px/1.35 Inter,Arial,sans-serif!important;
 box-shadow:none!important;appearance:none!important;}
.atf-ops-folder-search:focus{border-color:#64b9e5!important;background:#132840!important;box-shadow:0 0 0 2px rgba(53,172,224,.09)!important}
.atf-ops-folder-search::placeholder{color:#8ca9bf!important;opacity:1}
.atf-ops-folder-picker:has(.atf-ops-folder-search:not([hidden]))::after{content:"";pointer-events:none;position:absolute;right:18px;top:19px;width:8px;height:8px;
 border-right:2px solid #9fc9e7;border-bottom:2px solid #9fc9e7;transform:rotate(45deg)}
.atf-ops-folder-list{max-height:min(442px,56vh)}
.atf-ops-folder-empty,.atf-ops-folder-hint{padding:10px 12px;font:500 12px/1.4 Inter,Arial,sans-serif;color:#8daabe}
.atf-ops-folder-hint{border-top:1px solid #294054}
@media(max-width:600px){.atf-ops-folder-list{max-height:min(350px,48vh)}}


/* v2.0.272 — picker is a button followed by an optional search INSIDE the menu.
   Eliminates Android's accidental selection / keyboard on first tap. */
.atf-ops-folder-picker,.atf-ops-folder-toggle,.atf-ops-folder-current,.atf-ops-folder-list button,
.atf-ops-folder-list button *{user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}
.atf-ops-folder-toggle{cursor:pointer!important;touch-action:manipulation}
.atf-ops-folder-current{pointer-events:none}
.atf-ops-folder-menu[hidden],.atf-ops-folder-search-wrap[hidden]{display:none!important}
.atf-ops-folder-menu{position:absolute;z-index:60;top:calc(100% + 5px);left:0;right:0;
  border:1px solid #42647f;border-radius:12px;background:#101b2b;
  box-shadow:0 20px 42px #000b;padding:5px;max-width:100%;box-sizing:border-box}
.atf-ops-folder-menu .atf-ops-folder-list{position:static!important;inset:auto!important;
  background:transparent!important;box-shadow:none!important;border:0!important;
  border-radius:8px!important;padding:0!important;max-height:min(360px,44dvh)!important}
.atf-ops-folder-search-wrap{padding:5px 5px 9px}
.atf-ops-folder-menu .atf-ops-folder-search{width:100%!important;min-height:42px!important;
  padding:9px 12px!important;cursor:text!important;border-radius:8px!important}
.atf-ops-folder-menu .atf-ops-folder-search{user-select:text!important;-webkit-user-select:text!important;
  -webkit-touch-callout:default!important}
.atf-ops-folder-picker:has(.atf-ops-folder-search:not([hidden]))::after{display:none!important}
.atf-ops-folder-list button:focus{outline:none}
.atf-ops-dialog-top>button[data-ops-close]{display:grid!important;place-items:center!important;
  padding:0!important;line-height:1!important;flex:none}
.atf-ops-dialog-top>button[data-ops-close] svg{width:16px;height:16px;display:block;
  fill:none;stroke:#f6faff;stroke-width:2.3;stroke-linecap:round;pointer-events:none}
@media(max-width:600px){
 .atf-ops-folder-menu .atf-ops-folder-list{max-height:min(300px,37dvh)!important}
}
