/*
 * Globals
 */

@font-face{
    font-family:Ubuntu;
    font-style:normal;
    font-weight:300;
    src:url(Ubuntu-normal-300.woff) format("woff")
}


img { max-width:100%; }

:root {
    --primary-color: #373a3c;
    --dark-grey: #373a3c;
    --dark-grey-secondary: #89839e;
    --light-grey: #81878b;
    --light-grey-2: #f5f5f5;
    --light-grey-3: #9ba0a4;
    --workflow-gray-200: #e6eaed;
    --link-main-color: #2586da;
    
    --orange-color: #ff9800;
    --super-light: rgba(129, 135, 139, 0.2);

    --link-main-hover-color: #1a5e99;
    --workflow-gray-200: #e6eaed;
    --workflow-gray-500: rgba(129, 135, 139, 1);
    --workflow-gray-1000: rgba(129, 135, 139, 0.3);
    --workflow-gray-2000: rgba(129, 135, 139, 0.1);
    
    --workflow-black: #373a3c;
    --workflow-blue-10P0: #66afe9;
    --workflow-blue-400: #2586da;
    --workflow-blue-600: #1f72b9;

    --workflow-radius-100: 6px;
    --workflow-radius-500: 25px;
    
    --grey-light-text: rgb(55, 58, 60, 0.7);
}


html {
    font-size: 14px;
    color:var(--primary-color);
}

/* Custom default button */
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus {}


/*
 * Base structure
 */

body {
    font-family: Ubuntu,Arial,sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #373a3c;
    text-align: left;
}

a {
    color: var(--link-main-color);
    text-decoration: none;
}

.btn-primary:hover {
    background: #1f72b9;
}


.btn-primary:disabled {    
    color: var(--dark-grey-secondary);
    background: var(--light-grey-2);
    border-color: var(--workflow-gray-200) !important;
}


.btn-secondary {
    background: var(--link-main-color);
    
}
.btn-primary {
    background: var(--link-main-color);
    
}
.btn-primary:hover {
    background: var(--workflow-blue-600);
    
}

.btn-outline-primary {
    color: var(--link-main-color);
    
}
.btn-outline-primary:hover {
    background: var(--link-main-color);
}

.btn-warning {
    background: var(--orange-color);
}

.cover-container {
    background: var(--workflow-gray-200);
}

a:hover {
    color: var(--link-main-hover-color);
}
.btn-secondary:hover {
    background-color: var(--link-main-hover-color);
}


main {
    display: flex;
    flex-direction: column;
    max-width: 1000px;
    margin:0 auto;
    width: 100%;
}

.loading-icon {
    position: relative;
    display: inline-block;
    width: 2.5em;
    height: 2.5em;
    transform: translateY(17%);
    margin-right: 1rem;
}

.loading-icon:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
}

.loading-icon:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 2px solid rgb(0, 138, 189, 0.1);
    /* Light grey */
    border-top: 2px solid #008abd;
    /* Blue */
    border-radius: 50%;
    width: 100%;
    height: 100%;
    animation: spin 2s linear infinite;
    z-index: 101;
}

.alert-danger .loading-icon:after {
    border-color: rgb(132,32,41,0.1);
    border-top-color: rgb(132,32,41);
}

.loading-icon.gray-icon:after {
    border-color: rgba(0,0,0,0.1);
    border-top-color: rgba(0,0,0, 0.5);
}




@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.nav-masthead .nav-link {
  color: rgba(255, 255, 255, .9);
}

.nav-masthead .nav-link:hover,
.nav-masthead .nav-link:focus {
  color: #fff;
}

.nav-masthead .nav-link + .nav-link {
  margin-left: 1rem;
}

.login-form { max-width: 500px; margin:  0 auto; }

.loading-block { position: relative; }
.loading-block > .loading-icon { display: none; position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); z-index: 22222222; }



.loading-block.loading:before { content: ''; position: absolute; top:0; left: 0; width: 100%; height: 100%; background: rgba(255,255,255,0.9); z-index: 22222221; }
.loading-block.loading > .loading-icon { display: inline-block; }

.loading-block > .loading-icon.loading-icon.wide { padding-top:3rem; text-align:center; width: 100%; left: 0; transform: translateY(-50%); color: var(--light-grey); }
.loading-block > .loading-icon.loading-icon.wide:after, 
.loading-block > .loading-icon.loading-icon.wide:before 
 {     
    width: 2.5em;
    height: 2.5em;
 }

/*header.text-bg-dark { background-color: #4b475b !important; }*/

form label { font-weight: bold; }

.tool-pane.create-empty-folders-tool .step-3 {
    font-size: 1.1rem;
}
.tool-pane.create-empty-folders-tool .step-3 p {
    margin-top:1rem;
}

.nav-tabs .nav-link { font-weight: bold; }

.url-td { width:100%; }
.status-td { text-align: center;}

td.status .bi-exclamation-circle-fill { color: red; }
td.status { text-align: center; font-weight: bold; }
td.status .loading-icon { width: 1rem; height: 1rem; margin: 0; }
td.status .loading-icon:after { border-width: 2px; }

.loading-icon.small { width: 1rem; height: 1rem; margin: 0; }
.loading-icon.small:after { border-width: 2px; }
.loading-icon.inline { width: 1rem; height: 1rem; margin: 0; display: inline-block;}
.loading-icon.inline:after { border-width: 2px; }

.btn.btn-primary .loading-icon.small:after { 
    border-width: 2px; 
    border: 2px solid rgb(255,255,255, 0.2);
    border-top: 2px solid #fff;
}

tr[data-status="manager"] .status { color: green; }
tr[data-status="error"] .status { color: red; }
tr[data-status="error"] .status .bi:not(.single) { margin-right: 0.5rem; }

.tool-pane .step-2,
.tool-pane .step-3,
.tool-pane .step-4 { display: none; }

a.btn .bi { margin-right: 0.3rem; }

.create-empty-folders-tool .step-2 .loading-icon,
.create-empty-folders-tool .step-3 .loading-icon,
.disable-spin-scan-tool .step-2 .loading-icon,
.tool-16-to-8 .loading-icon,
.disable-spin-scan-tool .step-3 .loading-icon 

{ width: 1.5rem; height: 1.5rem; margin-left: 0.8rem; transform: translateY(7px); }

.workflow__logo {
    height: 22px;
}
.workflow__brand-text {
    margin-left: 0rem;
    padding-left: 0.5rem;
    display: inline-block;
    margin-top: 1px;
    font-size: 1.9rem;
    font-weight: 100;
}
.logged .logo-block {
    align-items: center;
}
.logged .logo-block a {
    color: inherit;
}

header {
    padding: 15px 30px;
    border-bottom: 1px solid var(--workflow-gray-200);
    box-shadow: 0 1px 10px rgb(0 0 0 / 10%);
    background: #fff;
    justify-content: space-between;
}

.logo-block { white-space:nowrap; align-items: center; }

header .float-md-start { 
    white-space:nowrap; 
    display: flex;
    flex-direction: row;
    align-items: center;
}

.profile-block { display: inline-block; vertical-align: bottom;}
.profile-block .account-alias {line-height: 36px; font-size:1.2rem; padding-left: 0.5rem; }

.workflow__title {
    font-size: 35px;
    margin-bottom: 20px;
    font-weight: 200;
}
.workflow__description {
    font-weight: 400;
    line-height: 1.3;
}
.profile-button:hover,
.profile-button {
    color: inherit;
}
.profile-button span {
    border-radius: 100%;
    width: 36px;
    height: 36px;
    background: var(--dark-grey);
    display: inline-block;
    display: flex;
    flex-direction: row;
    justify-content: center;
    font-weight: 200;
    font-size: 22px;
    line-height: 36px;
    padding-left: 1px;
}
.profile-button span  {
    color:#fff;
}


.profile-button.dropdown-toggle:after {
    align-self: center;
}

.profile-dropdown {
    position: relative;
    width: 280px;
    padding: 20px 25px 10px 25px;
    border-radius: 0.3rem;
    background-color: #fff;
    box-shadow: 3px 5px 26px 5px rgb(0 0 0 / 25%);
    z-index: 1050;    
    border:none;
}
.dropdown-menu.profile-dropdown {
    margin-top:1rem !important; 
}
.dropdown-menu.profile-dropdown .list-group {
    margin-left:-1rem;
    margin-right:-1rem;
}

.profile-dropdown a {
    color: #373a3c;
}

.profile-dropdown a:hover,
.profile-dropdown a:focus  {
    background: var(--dark-grey-secondary);
    color: #fff;
}
.profile-dropdown a:hover i.bi {
    opacity: 1;
}

.profile-dropdown .list-group-item {
    border:none;
    border-radius:0;
    padding: .75rem 1.25rem !important;
}
.profile-dropdown .list-group-item:last-child {

}

.profile-dropdown .list-group-item.profile-info { 
    border-bottom:1px solid #e6eaed !important;
    padding-bottom: 1rem !important; 
    margin-bottom: .25rem !important;
    padding-top:0 !important;
}

.list-group-item.profile-info b { 
    display:block; 
    margin-bottom:.25rem; 
}

.list-group-item[target="_blank"] .bi { opacity:0.5; margin-left:0.5rem; margin-right:0.5rem; font-size: 90%; visibility: hidden; }
.list-group-item[target="_blank"]:hover .bi { visibility: visible; }

.login-button { font-size:36px; overflow: hidden; }

.user-name { font-weight:100; color:var(--light-grey); }
.list-group-item  .user-name i { margin-left: 0 !important; font-size: 120%; margin-right: 0.4rem !important; opacity: 1; vertical-align: middle; }

.switch-account-modal h4 { text-align:center; font-size: 21px; justify-self: center; flex-grow: 1; }
.switch-account-modal .accounts-list a { 
    erit;
    margin-top: -1px;
    border-top: 1px solid #e6eaed;
    border-bottom: 1px solid #e6eaed;
    display: block;
    padding: 1rem 14px;
    align-items: center;
    justify-content: space-between;
    display: flex;
}
.switch-account-modal .accounts-list a:hover,
.switch-account-modal .accounts-list a:hover i 
{ 
    background: var(--dark-grey-secondary);
    color: #fff;
}

.switch-account-modal .accounts-list .ui-avatar {
    display: inline-block;
    height: 1.7em;
    width: 1.7em;
    line-height: 1.3em;
    font-size: 1.3em;
    border-radius: 100%;
    background-color: #0b97c4;
    color: #fff;
    padding: 0.2em;
    text-align: center;
    text-transform: capitalize;
    font-weight: 700;
    margin-right: 0.5rem;
}

.switch-account-modal .accounts-list i { font-size: 1.5rem; color:var(--light-grey); }

.switch-account-modal .modal-body {
    padding: 0 4px 0 0;
    overflow: auto;
}



.workflow__content-header {
    margin: 60px 0;
    color: var(--workflow-black);
}
.not-logged .workflow__content-header {
    margin-top: 0;
}

.workflow__nav{
    column-gap: 20px;
}

.workflow__nav-item {
    padding: 10px;
    background: #fff;
    width: calc(100% / 3 - 40px);
    margin: 0 20px 40px 0;
    min-height: 80px;
    border-radius: var(--workflow-radius-100);
    font-size: 20px;
    transition: translate .2s ease;    
    color:inherit;
    text-align: center;
    -webkit-box-shadow: 0 8px 40px rgba(50,123,186,.16),0 4px 4px rgba(50,123,186,.08);
    box-shadow: 0 8px 40px rgba(50,123,186,.16),0 4px 4px rgba(50,123,186,.08);
    -webkit-transition: -webkit-box-shadow .5s ease,-webkit-transform .5s ease;
    transition: box-shadow .5s ease,transform .5s ease;
    transition: box-shadow .5s ease,transform .5s ease,-webkit-box-shadow .5s ease,-webkit-transform .5s ease
}
.workflow__nav-item span {
    display: block;
    font-size: 70%;
    margin-top:-0.3rem;
    flex-basis: 100%;
    opacity: 0.6;
}
.workflow__nav-item i.bi {
    margin-left: 0.5rem;
    font-size: 0.9rem;
    opacity: 0.5;
    position: relative;
    z-index: 1;
    top:0.1rem;
}

.workflow__nav-item:hover{
    color:var(--workflow-blue-600);
    
    text-decoration: none;
    -webkit-box-shadow: 0 48px 80px rgba(50,123,186,.16),0 16px 16px rgba(50,123,186,.08);
    box-shadow: 0 48px 80px rgba(50,123,186,.16),0 16px 16px rgba(50,123,186,.08);
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px)
}
.workflow__nav-item:hover i.bi {
    opacity: 1;
}

.browse-view-content {
    padding:3rem 1rem !important;
}
main, .browse-view-content .container {
    max-width:none;
}
.browse-view-content .container > * {
    max-width:1000px;
    margin-left:auto;
    margin-right:auto;
}
.card.tool-panes { max-width: 1024px; margin:0 auto; } 
.container.tool-selected {
    display: flex; flex-direction:row;
}
.container.tool-selected .workflow__nav {
    flex: 0 1;
    white-space:nowrap;
}
.container.tool-selected .tool-panes-holder {
    flex: 1 1 100%;
    max-width:none;
}

.container.tool-selected {

}
.container.tool-selected .workflow__nav {
    display:block;
    padding-right:2rem;
}
.container.tool-selected .workflow__nav-item span {
    display:none;
}
.container.tool-selected .workflow__nav-item {
    width:100%;
    border: none;
    background:none;
    box-shadow: none;
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    min-height: 0;
    margin: 0 0.5rem 0.5rem 0;
    text-align: left;
    justify-content: start;
    font-size:16px;
    display: block;
}
.container.tool-selected .workflow__nav-item.active {
    font-weight: bold;
    background: var(--super-light);
    color: inherit !important;
    transform: none !important;

}
.container.tool-selected .workflow__nav-item:hover{
    color:var(--workflow-blue-600);    
    text-decoration: none;
    transform: translateY(-2px)
}


.flex{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; 
}

.flex-align--center{
    align-items: center;
}

.flex-justify--center{
    justify-content: center;
}

.flex-justify--between{
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    .workflow__nav-item{
        font-size: 14px;
        height: 60px;
    }
}

@media screen and (max-width: 480px) {

    .workflow__header{
        flex-direction: column;
        row-gap: 20px;
    }

    .workflow__content-header{
        margin: 40px 0;
    }

    .workflow__title{
        font-size: 22px;
        margin-bottom: 10px;
    }

    .workflow__description{
        font-size: 14px;
    }

    .workflow__nav{
        flex-direction: column;
        align-items: center;
        row-gap: 20px;
    }

    .workflow__nav-item{
        width: 100%;
        max-width: 200px;
    }
}

body.h-100,
.cover-container.h-100 {
    min-height: 100%;
    height: auto !important;
}

.tool-panes ,
.tool-panes .tool-pane { display:none; }


.tool-title {
    font-size: 1.5rem;
    padding-bottom: 1rem;
    margin-top: -1rem;
    padding-top: 0rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--workflow-gray-200);
    margin-left: -2rem;
    margin-right: -2rem;
    padding-left: 1rem;
/*    background: var(--bs-gray-200);*/
}
.tool-title .title {
    margin-left: 1rem;
}

/*.back-link {
    margin-right: 0.5rem;
    padding-right: 1rem;
    border-right: 1px solid var(--workflow-gray-500);
}

.back-link {
    margin-left: calc(-4rem - 1px);
    background: rgba(255,255,255,0.5);
    border: none;
    padding: 0.5rem 0.75rem 0.5rem 0.75rem;
}
*/
.tool-panes .card-body { 
    padding:2rem; 
    border-radius: var(--workflow-radius-100);
    box-shadow: none;
    border:none !important;
/*    overflow: hidden;*/
}

.tool-pane > form :last-child { margin-bottom:0 !important; }

.tool-pane h4 { font-size:1.4rem;  margin:1.5rem 0 1.5rem 0;}
.tool-pane h3 { font-size:1.8rem;  margin:1.5rem 0 1.5rem 0;}

.login-button.not-logged-btn { padding: 1rem 2rem; font-size:2rem; 
    -webkit-transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease;
}

.login-button.not-logged-btn:hover { -webkit-transform: translateY(-5px); transform: translateY(-5px) }
.login-button.not-logged-btn span { display:block; font-size:1rem; }

.btn.btn-transparent  {
    border:none;
    color: inherit;
    background: none !important;
    border:none !important;
}

.dropdown-menu.custom-dropdown-menu,
.tool-pane .dropdown-menu { 
    box-shadow: 3px 3px 8px 3px rgb(0 0 0 / 15%);
    padding: 0.35714rem 0;
    color: var(--dark-grey);
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 0.25rem;
}
.dropdown-item:focus, .dropdown-item:hover {
    background: var(--light-grey-2);
}

.table-hover>tbody>tr:hover>* {
    --bs-table-accent-bg: rgba(248,248,255,.6) !important;
}

form hr {
    border-color:var(--light-grey);
}

.v-none { visibility:hidden; }

.form-select:focus,
.form-control:focus {
    box-shadow: 0 0 0 0.1rem rgb(13 110 253 / 20%);
}
input[type="radio"].form-check-input:focus {
    box-shadow: none;
}

.form-control {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    padding-left: 1rem;
    padding-right: 1rem;
}

input[type="password"].psw-show-hide.toggle-added { padding-right:2.5rem; }
.psw-show-hide-toggle { position:absolute; top:50%; right: 1.5rem; transform: translateY(-50%); cursor: pointer; font-size: 1.2rem; }
.psw-show-hide-toggle.show-psw .bi-eye-slash-fill { display: none }
.psw-show-hide-toggle.hide-psw .bi-eye-fill { display: none }

.flex-v-center {
    align-items: center;
}
.flex-sp-btwn {
    justify-content: space-between;
}

/* batch uploaders */
.batch-uploaders table.jobs-list {

}
.batch-uploaders table.jobs-list thead {
    color: var(--light-grey);
}
.batch-uploaders table.jobs-list td, 
.batch-uploaders table.jobs-list th {
    padding-top:1.5rem;
    padding-bottom:1.5rem;
    
}
.batch-uploaders table.jobs-list tr:last-child td {
    border: none;
}

.batch-uploaders table.jobs-list hr {
    margin: 0.5rem 0;
    border-top: 1px solid #e5e5e5;
    opacity: 1;
}
.batch-uploaders table.jobs-list .dropdown  {
    text-align: right;
}
.batch-uploaders table.jobs-list .dropdown-menu  {
    min-width: 200px;
}
.batch-uploaders table.jobs-list button.dropdown-toggle  {
    font-size: 1.5rem;
    line-height: inherit;
    padding: 0;
    color: var(--light-grey);
}
.batch-uploaders table.jobs-list button.dropdown-toggle:after  {
    content: none;
}
.batch-uploaders table.jobs-list li .form-switch  {
    padding-left: 2.75rem;
}
.batch-uploaders table.jobs-list li .form-switch .form-check-input {
    margin-right: 0.75rem;    
}
.batch-uploaders table.jobs-list .dropdown .bi  {
    color: var(--light-grey-3);
    margin-right: 1.07143rem;
}
.batch-uploaders table.jobs-list .dropdown-item {
    white-space: nowrap;
    padding: .42857rem 1.07143rem;
}
.batch-uploaders table.jobs-list .dropdown-item a {
    color: inherit;
    display: block;
}


.batch-uploaders table.jobs-list tr[data-status="CREATED"] li a.download-report,
.batch-uploaders table.jobs-list tr[data-status="CREATED"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="CREATED"] li a[data-status="stop"],


.batch-uploaders table.jobs-list tr[data-status="RUNNING"] li a.download-report,
.batch-uploaders table.jobs-list tr[data-status="RUNNING"] li a[data-status="start"],
.batch-uploaders table.jobs-list tr[data-status="RUNNING"] li a[data-status="pause"],


.batch-uploaders table.jobs-list tr[data-status="PAUSED"] li a.download-report,
.batch-uploaders table.jobs-list tr[data-status="PAUSED"] li a[data-status="start"],
/*.batch-uploaders table.jobs-list tr[data-status="PAUSED"] li a[data-status="stop"],*/
.batch-uploaders table.jobs-list tr[data-status="PAUSED"] li a[data-status="pause"],

.batch-uploaders table.jobs-list tr[data-status="TERMINATED"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="TERMINATED"] li a[data-status="stop"],


.batch-uploaders table.jobs-list tr[data-status="PENDING"] li a[data-status="start"],
.batch-uploaders table.jobs-list tr[data-status="PENDING"] li a[data-status="pause"],


.batch-uploaders table.jobs-list tr[data-status="QUEUED"] li a[data-status="start"],
.batch-uploaders table.jobs-list tr[data-status="QUEUED"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="QUEUED"] li a[data-status="stop"],


.batch-uploaders table.jobs-list tr[data-status="FAILED"] li a.download-report,
.batch-uploaders table.jobs-list tr[data-status="FAILED"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="FAILED"] li a[data-status="stop"],

.batch-uploaders table.jobs-list tr[data-status="STOPPED"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="STOPPED"] li a[data-status="stop"],

.batch-uploaders table.jobs-list tr[data-status="NEEDS_REVIEW"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="NEEDS_REVIEW"] li a[data-status="stop"],

.batch-uploaders table.jobs-list tr[data-status="SAMPLE_READY"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="SAMPLE_READY"] li a[data-status="stop"],
.batch-uploaders table.jobs-list tr[data-status="SAMPLE_READY"] li a[data-status="start"],

.batch-uploaders table.jobs-list tr[data-status="FINISHED"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-status="FINISHED"] li a[data-status="stop"],
.batch-uploaders table.jobs-list tr[data-status="FINISHED"] li a[data-status="start"],
.batch-uploaders table.jobs-list tr[data-status="FINISHED"] li a[data-status="pause"]
{     
    opacity: 0.3;
    pointer-events: none;
}

.batch-uploaders table.jobs-list tr[data-scheduled="1"] li a[data-status="pause"],
.batch-uploaders table.jobs-list tr[data-scheduled="1"] li a[data-status="stop"],
.batch-uploaders table.jobs-list tr[data-scheduled="1"] li a[data-status="start"],
.batch-uploaders table.jobs-list tr[data-scheduled="1"] li a[data-status="pause"]
{     
    opacity: 0.3;
    pointer-events: none;
}
.batch-uploaders table.jobs-list tr[data-scheduled="1"] li a[data-status="stop"] {
    opacity: 1;
    pointer-events: all;    
}
.batch-uploaders table.jobs-list tr[data-scheduled="1"][data-status="STOPPED"] li a[data-status="stop"] {
    opacity: 0.3;
    pointer-events: none;    
}
.batch-uploaders table.jobs-list tr[data-scheduled="1"][data-status="STOPPED"] li a[data-status="start"] {
    opacity: 1;
    pointer-events: all;
}

/* The two parked states, for scheduled jobs.
   The rule above that re-enables Pause for every scheduled job is a later
   declaration of equal specificity to the plain [data-status] rules earlier,
   so it wins and hands Pause back on a parked job. That is how a sample_ready
   scheduled job ended up with a working Pause. Same shape as the STOPPED pair
   directly above. */
.batch-uploaders table.jobs-list tr[data-scheduled="1"][data-status="NEEDS_REVIEW"] li a[data-status="stop"],
.batch-uploaders table.jobs-list tr[data-scheduled="1"][data-status="SAMPLE_READY"] li a[data-status="stop"] {
    opacity: 0.3;
    pointer-events: none;
}
/* Run again is the remedy on a job the gate stopped, scheduled or not. */
.batch-uploaders table.jobs-list tr[data-scheduled="1"][data-status="NEEDS_REVIEW"] li a[data-status="start"] {
    opacity: 1;
    pointer-events: all;
}

.batch-uploaders table.jobs-list tr[data-scheduled="1"] li a.edit-job {
    opacity: 0.3;
    pointer-events: none;
}
.batch-uploaders table.jobs-list tr[data-status="CREATED"] li a.edit-job,
.batch-uploaders table.jobs-list tr[data-status="QUEUED"] li a.edit-job,
.batch-uploaders table.jobs-list tr[data-status="PAUSE"] li a.edit-job,
.batch-uploaders table.jobs-list tr[data-status="PAUSED"] li a.edit-job,
.batch-uploaders table.jobs-list tr[data-status="STOPPED"] li a.edit-job,
.batch-uploaders table.jobs-list tr[data-status="FINISHED"] li a.edit-job,
/* Editing is the remedy in both parked states, not something to lock out. On
   needs_review a real filename collision is fixed by changing the template; on
   sample_ready the backend explicitly permits an edit and reports it back as
   settings_changed so continuing can warn about two naming schemes. */
.batch-uploaders table.jobs-list tr[data-status="NEEDS_REVIEW"] li a.edit-job,
.batch-uploaders table.jobs-list tr[data-status="SAMPLE_READY"] li a.edit-job {
    opacity: 1;
    pointer-events: all;
}


td.status-text .status-paused-info { margin-left:0.5rem; color:var(--bs-secondary); }

.batch-uploaders table.jobs-list tr.processing {
    animation: blink 1s linear infinite;
}
@keyframes blink {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
}


.batch-uploaders .wizard h2 { font-size: 1.8rem; margin-bottom:1rem; text-align:center; }
.batch-uploaders .wizard h3 { font-size: 1.5rem; margin-bottom:2rem; margin-top:0; }
.batch-uploaders .wizard label { font-weight: 400; }

.batch-uploaders .wizard-steps  {
    margin: 2rem auto;
    position: relative;
    max-width: 650px;
    padding: 2rem 3rem;
    border-radius: 0.3rem;
    background-color: #fff;
    box-shadow: 3px 5px 26px 5px rgb(0 0 0 / 25%);
    z-index: 1050;    
    border:none;
}
.batch-uploaders .wizard-steps .wizard-buttons {
    margin-top: 2.5rem;
}



.form-check.big-input label {
    font-size: 1.2rem;
    display: block;
    padding: 1.5rem 1.5rem 1.5rem 3.5rem;
    border-radius: var(--workflow-radius-100);
    border:2px solid var(--workflow-gray-200);
    cursor: pointer;
}

.form-check.big-input {
    padding-left: 0;
}
.form-check.big-input label {
    padding-left: 1.5rem;
}
.form-check.big-input input {
    display: none;
}
.form-check.big-input label.checked-label,
.form-check.big-input label:hover {
    border-color:var(--link-main-color);   
    background: #eff8ff;
}

.batch-uploaders .wizard-step[data-step="STEP-WHERE-ARE-FILES"] label:has(input:disabled) {
/*    opacity: 0.4;*/
}
.batch-uploaders .files-source-ftp {
    position:relative;
}
.batch-uploaders .files-source-ftp .badge {
    font-size:0.9rem !important;
    opacity:0.7;
}
.batch-uploaders .wizard-step[data-step="STEP-WHERE-ARE-FILES"] label:has(input:disabled):hover {
    border-color:var(--workflow-gray-200);   
}

/*.wizard-step .accordion .accordion-item {
    border:none;
    border-radius: 0;
}
.accordion-button:not(.collapsed) {
    border:none;
    background: none;
}*/

.batch-uploaders .match-csv-columns-block .columns-list { font-size:0.95rem; }
.batch-uploaders .match-csv-columns-block .columns-list .row div:last-child span { 
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.batch-uploaders .match-csv-columns-block .columns-list .row div:last-child span:not(.counter) { 
    display: block;
    color: var(--grey-light-text) !important;;
    font-size: 12px;
}
.batch-uploaders .match-csv-columns-block hr.extra-field,
.batch-uploaders .match-csv-columns-block [data-column-type].extra-field {
    display: none;
}
/*.batch-uploaders .match-csv-columns-block .columns-list .row div:last-child span:last-child { 
    display: none;
}
*/

.batch-uploaders .match-csv-columns-block .csv-skip-first-row-check:has(input:checked) + .columns-list .row div:last-child span:last-child  {
/*    display: block;*/
}
.batch-uploaders .match-csv-columns-block .csv-skip-first-row-check:has(input:checked) + .columns-list .row div:last-child span:first-child  {
/*    display: none;*/
/*    text-decoration: line-through;
    opacity: 0.4;
*/
}
.batch-uploaders [data-step="STEP-CONFIGURE-CSV"] .samples-list-container p {
    margin-bottom: 0.25rem;
}

.batch-uploaders [data-step="STEP-NAMING"] legend {
    font-size: inherit;
    float: none;
    background: var(--workflow-gray-2000);
    padding: 0.5rem;
    max-height: 150px;
    overflow: hidden;
    overflow-y: auto;
}
.batch-uploaders [data-step="STEP-NAMING"] legend ul {
    margin:0; padding: 0;
    list-style: none;
}
.batch-uploaders [data-step="STEP-NAMING"] .samples-list-more,
.batch-uploaders [data-step="STEP-NAMING"] .samples-list {
    
    white-space: nowrap;
    font-size: 12px;
}
.batch-uploaders [data-step="STEP-NAMING"] legend ul li {
    margin-bottom:0.5rem;
}
.batch-uploaders [data-step="STEP-NAMING"] .samples-list-more span,
.batch-uploaders [data-step="STEP-NAMING"] .samples-list span {
    display: block;    
    margin:0.25rem 0;
}

/* Hidden until the final step, but via .d-none in the markup rather than
   display:none here. jQuery .show() on an element the stylesheet hides falls
   back to the tag's default display, which would inline `display:inline` over
   the flex layout the buttons below need to come out the same height. */
.tool-pane.batch-uploader-tool .save-buttons { white-space: nowrap;}

.tool-pane.batch-uploader-tool .batch-uploaders { min-height:100px; }

.tool-pane.batch-uploader-tool div.jobs-list-container { min-height:200px }


.batch-uploaders [data-client-sh] {
    display: none;
}
.batch-uploaders[data-client="GENERAL"] [data-client-sh*="GENERAL"] {
    display: inline-block;
}

.batch-uploaders[data-client="GENERAL"] li[data-client-sh*="GENERAL"] {
    display: list-item;
}
.batch-uploaders[data-client="META"] li[data-client-sh*="META"] {
    display: list-item;
}
.batch-uploaders[data-client="RENAME"] li[data-client-sh*="RENAME"] {
    display: list-item;
}
.batch-uploaders[data-client="MOVE"] li[data-client-sh*="MOVE"] {
    display: list-item;
}
/* adspin */

.batch-uploaders[data-client="ADSPIN"] [data-client-sh] {
    display: none;
}
.batch-uploaders[data-client="ADSPIN"] [data-client-sh*="ADSPIN"] {
    display: block;
}

.batch-uploaders[data-client="RENAME"] [data-client-sh] {
    display: none;
}
.batch-uploaders[data-client="RENAME"] [data-client-sh*="RENAME"] {
    display: inline-block;
}

.batch-uploaders[data-client="RENAME"] [data-client-hide*="RENAME"] {
    display: none;
}

.batch-uploaders[data-client="MOVE"] [data-client-sh] {
    display: none;
}
.batch-uploaders[data-client="MOVE"] [data-client-sh*="MOVE"] {
    display: inline-block;
}

.batch-uploaders[data-client="MOVE"] [data-client-hide*="MOVE"] {
    display: none;
}

.batch-uploaders[data-client="META"] [data-client-sh] {
    display: none;
}
.batch-uploaders[data-client="META"] [data-client-sh*="META"] {
    display: inline-block;
}

.batch-uploaders[data-client="META"] [data-client-hide*="META"] {
    display: none;
}

.batch-uploaders[data-client="GENERAL"] td[data-client-sh*="GENERAL"], 
.batch-uploaders[data-client="GENERAL"] th[data-client-sh*="GENERAL"],
.batch-uploaders[data-client="MOVEFILES"] td[data-client-sh*="MOVEFILES"], 
.batch-uploaders[data-client="MOVEFILES"] th[data-client-sh*="MOVEFILES"],
.batch-uploaders[data-client="RENAME"] td[data-client-sh*="RENAME"], 
.batch-uploaders[data-client="RENAME"] th[data-client-sh*="RENAME"],
.batch-uploaders[data-client="MOVE"] td[data-client-sh*="MOVE"], 
.batch-uploaders[data-client="MOVE"] th[data-client-sh*="MOVE"],
.batch-uploaders[data-client="META"] td[data-client-sh*="META"], 
.batch-uploaders[data-client="META"] th[data-client-sh*="META"],
.batch-uploaders[data-client="ADSPIN"] td[data-client-sh*="ADSPIN"], 
.batch-uploaders[data-client="ADSPIN"] th[data-client-sh*="ADSPIN"] {
    display: table-cell;
}

.batch-uploaders[data-client="GENERAL"] tr[data-client-sh*="GENERAL"], 
.batch-uploaders[data-client="MOVEFILES"] tr[data-client-sh*="MOVEFILES"], 
.batch-uploaders[data-client="RENAME"] tr[data-client-sh*="RENAME"], 
.batch-uploaders[data-client="MOVE"] tr[data-client-sh*="MOVE"], 
.batch-uploaders[data-client="META"] tr[data-client-sh*="META"], 
.batch-uploaders[data-client="ADSPIN"] tr[data-client-sh*="ADSPIN"] {
    display: table-row;
}

/* movefiles */

.batch-uploaders[data-client="MOVEFILES"] [data-client-sh] {
    display: none;
}
.batch-uploaders[data-client="MOVEFILES"] [data-client-sh*="MOVEFILES"] {
    display: block;
}

@media screen and (max-width: 768px) {

.batch-uploaders[data-client="GENERAL"] td[data-client-sh*="GENERAL"], 
.batch-uploaders[data-client="GENERAL"] th[data-client-sh*="GENERAL"],
.batch-uploaders[data-client="MOVEFILES"] td[data-client-sh*="MOVEFILES"], 
.batch-uploaders[data-client="MOVEFILES"] th[data-client-sh*="MOVEFILES"],
.batch-uploaders[data-client="RENAME"] td[data-client-sh*="RENAME"], 
.batch-uploaders[data-client="RENAME"] th[data-client-sh*="RENAME"],
.batch-uploaders[data-client="MOVE"] td[data-client-sh*="MOVE"], 
.batch-uploaders[data-client="MOVE"] th[data-client-sh*="MOVE"],
.batch-uploaders[data-client="META"] td[data-client-sh*="META"], 
.batch-uploaders[data-client="META"] th[data-client-sh*="META"],
.batch-uploaders[data-client="ADSPIN"] td[data-client-sh*="ADSPIN"], 
.batch-uploaders[data-client="ADSPIN"] th[data-client-sh*="ADSPIN"] {
    display: block;
}

}

.batch-uploaders td.always-show, 
.batch-uploaders th.always-show {
    display: table-cell;
}


.batch-uploaders .badge.text-bg-light {
    border: 1px solid var(--workflow-gray-500);
    border-width: 1px;    
    font-size:inherit;
}
.batch-uploaders .badge.text-bg-light {
    margin: 0.25rem 0.25rem;
}
.batch-uploaders .badge.text-bg-light:first-child {
    margin: 0;
}
.batch-uploaders .badge.text-bg-light.light {
    border: 1px solid var(--workflow-gray-1000);
    color: var(--light-grey-3) !important;
}
.batch-uploaders .badge.text-bg-light small {
    font-size: inherit;
    opacity: 0.4;
    margin-left: 0.5rem;
}
.batch-uploaders .csv-legend ul {
    margin: 0;
    padding: 0;
    list-style:none;
}
.batch-uploaders .csv-legend ul li {
    margin: 0 0 1rem 0;
}
.batch-uploaders .csv-legend ul li .badge {
    font-size: 0.9rem;
}

.mass-delete-tool .form-check-input[role="switch"] {
    height: 1.5rem;
    width: 2.5rem;
    margin-left: -3.5rem;
    margin-top:0;
}
.mass-delete-tool .form-check.form-switch {
    padding-left: 3.5rem;
}

.mass-delete-tool table[data-method="listfolders"] .hide-for-list,
.mass-delete-tool table[data-method="list"] .hide-for-list {
    display: none !important;
}

.amazon-tool table[data-method="listfolders"] .hide-for-list,
.amazon-tool table[data-method="list"] .hide-for-list {
    display: none !important;
}
.image-report-tool table[data-method="listfolders"] .hide-for-list,
.image-report-tool table[data-method="list"] .hide-for-list {
    display: none !important;
}
.spin-report-tool table[data-method="listfolders"] .hide-for-list,
.spin-report-tool table[data-method="list"] .hide-for-list {
    display: none !important;
}
.folder-insights-tool table[data-method="listfolders"] .hide-for-list,
.folder-insights-tool table[data-method="list"] .hide-for-list {
    display: none !important;
}

.form-check-input:checked
{
    background-color: var(--link-main-color);
}

/* background removal */

.btn.download-link .loading-icon {
    display: none;
    margin-right: 0.3rem;
}
.btn.download-link.disabled .loading-icon {
    display: inline-block;    
}
.btn.download-link.disabled .loading-icon:after {
    border: 2px solid rgb(255,255,255, 0.1);
    border-top: 2px solid #fff;
}
.btn.download-link.disabled {
    opacity: 0.5;
}
.btn.download-link.disabled .bi {
    display: none;
}

/* mass delete */

.form-control.datepicker-input { display:inline-block; width: 45%; }
.form-control.datepicker-input:first-child { }
.form-control.datepicker-input:last-child { }

.md-form-lines {
    max-width: 500px;
}
.mass-delete-tool .step-1 input[type="text"],
.mass-delete-tool .step-1 select {
    /*max-width: 300px;
    width: 100%;*/
}
.mass-delete-tool .step-1 select[name="fileType"] {
    max-width: 300px;
}

[name="dateType"] {
    width: auto;
}

.video-report .search-conditions-list.card,
.batch-download-tool .search-conditions-list.card,
.folder-insights-tool .search-conditions-list.card,
.image-report-tool .search-conditions-list.card,
.spin-report-tool .search-conditions-list.card,
.amazon-tool .search-conditions-list.card {
    border: none;
    margin-bottom:1rem;    
}
.video-report-tool .search-conditions-list.card,
.mass-delete-tool .search-conditions-list.card {
    border: none;
    margin-bottom:2rem;
}
.video-report-tool .search-conditions-list.card .card-body,
.batch-download-tool .search-conditions-list.card .card-body,
.amazon-tool .search-conditions-list.card .card-body,
.image-report-tool .search-conditions-list.card .card-body,
.spin-report-tool .search-conditions-list.card .card-body,
.folder-insights-tool .search-conditions-list.card .card-body,
.mass-delete-tool .search-conditions-list.card .card-body {
    padding: 0rem;
}
.video-report-tool .search-conditions-list.card .conditions-list p,
.batch-download-tool .search-conditions-list.card .conditions-list p,
.amazon-tool .search-conditions-list.card .conditions-list p,
.image-report-tool .search-conditions-list.card .conditions-list p,
.spin-report-tool .search-conditions-list.card .conditions-list p,
.folder-insights-tool .search-conditions-list.card .conditions-list p,
.mass-delete-tool .search-conditions-list.card .conditions-list p {
    margin-bottom: 0.3rem;
}
.video-report-tool .search-conditions-list.card .conditions-list,
.batch-download-tool .search-conditions-list.card .conditions-list,
.amazon-tool .search-conditions-list.card .conditions-list,
.image-report-tool .search-conditions-list.card .conditions-list,
.spin-report-tool .search-conditions-list.card .conditions-list,
.folder-insights-tool .search-conditions-list.card .conditions-list,
.mass-delete-tool .search-conditions-list.card .conditions-list {
    margin-bottom: 0.5rem;
    opacity: 0.8;
}
.video-report-tool .search-conditions-list.card .conditions-list .badge,
.batch-download-tool .search-conditions-list.card .conditions-list .badge,
.amazon-tool .search-conditions-list.card .conditions-list .badge,
.image-report-tool .search-conditions-list.card .conditions-list .badge,
.spin-report-tool .search-conditions-list.card .conditions-list .badge,
.folder-insights-tool .search-conditions-list.card .conditions-list .badge,
.mass-delete-tool .search-conditions-list.card .conditions-list .badge {
    font-size: inherit;
    margin-right: 0.5rem;
    padding: 0.5rem 0.75rem;
    color:var(--dark-grey-secondary) !important;
    border:1px solid var(--super-light);
    background: none !important;

}
.video-report-tool .search-conditions-list.card p:last-child,
.amazon-tool .search-conditions-list.card p:last-child,
.image-report-tool .search-conditions-list.card p:last-child,
.spin-report-tool .search-conditions-list.card p:last-child,
.folder-insights-tool .search-conditions-list.card p:last-child,
.batch-download-tool .search-conditions-list.card p:last-child,
.mass-delete-tool .search-conditions-list.card p:last-child{
    margin-bottom: 0;
}
.amazon-tool div.file-list,
.image-report-tool div.file-list,
.spin-report-tool div.file-list,
.folder-insights-tool div.file-list,
.batch-download-tool div.file-list,
.mass-delete-tool div.file-list {
    clear: both;
}
table.file-list td { vertical-align:middle; }
.video-report-tool table.file-list td:not(.filename),
.amazon-tool table.file-list td:not(.filename),
.image-report-tool table.file-list td:not(.filename),
.spin-report-tool table.file-list td:not(.filename),
.folder-insights-tool table.file-list td:not(.filename),
.batch-download-tool table.file-list td:not(.filename),
.mass-delete-tool table.file-list td:not(.filename) {
    white-space: nowrap;
}
.video-report-tool table.file-list td.filename,
.amazon-tool table.file-list td.filename,
.image-report-tool table.file-list td.filename,
.spin-report-tool table.file-list td.filename,
.folder-insights-tool table.file-list td.filename,
.batch-download-tool table.file-list td.filename,
.mass-delete-tool table.file-list td.filename {
    width: 100%;
}
.video-report-tool table.file-list td.filename a,
.amazon-tool table.file-list td.filename a,
.image-report-tool table.file-list td.filename a,
.spin-report-tool table.file-list td.filename a,
.folder-insights-tool table.file-list td.filename a,
.batch-download-tool table.file-list td.filename a,
.mass-delete-tool table.file-list td.filename a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    display: none;
    max-width: 100%;
}
.amazon-tool table.file-list i.bi,
.image-report-tool table.file-list i.bi,
.spin-report-tool table.file-list i.bi,
.folder-insights-tool table.file-list i.bi,
.batch-download-tool table.file-list i.bi,
.mass-delete-tool table.file-list i.bi {
    opacity: 0.5;
    width: 36px;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.amazon-tool .file-list-holder,
.image-report-tool .file-list-holder,
.spin-report-tool .file-list-holder,
.folder-insights-tool .file-list-holder,
.batch-download-tool .file-list-holder,
.mass-delete-tool .file-list-holder {
    /*max-height: 200px;
    overflow-y: auto;*/
    margin-bottom: 1rem;
}

.amazon-tool .step-3 .progress,
.image-report-tool .step-3 .progress,
.spin-report-tool .step-3 .progress,
.folder-insights-tool .step-3 .progress,
.batch-download-tool .step-3 .progress,
.mass-delete-tool .step-3 .progress {
    max-width: 300px;
    height: 3px;
    overflow-y: auto;
    margin-bottom: 1rem;
}

.batch-uploaders .total-found { font-weight:bold; font-size:1.2rem; }

.batch-uploaders .btn.download-csv { margin-left:0.5rem; }
.batch-uploaders .btn.download-csv .bi { margin-right:0.5rem; }

.batch-uploaders .btn.init-amazon-job .bi { margin-right:0.5rem; }
.batch-uploaders .btn.init-image-report-job .bi { margin-right:0.5rem; }
.batch-uploaders .btn.init-spin-report-job .bi { margin-right:0.5rem; }
.batch-uploaders .btn.init-folder-insights-job .bi { margin-right:0.5rem; }


.batch-uploaders .accounts-list .error.alert { margin:1rem;}

.batch-uploaders .tooltip > .tooltip-inner p { margin:0; text-align: left; }
.batch-uploaders .btn.btn-link.info-tooltip { color:inherit; }

/*.back-to-uploads { display:none; }*/

.batch-uploaders .columns-list .delete-column { margin-left:0.5rem; cursor:pointer; display: none; }
/* .batch-uploaders .columns-list .cloned-column .delete-column { display: inline-block; }*/

.batch-uploaders .progress { height:10px; border-radius:0; }

.batch-uploaders .btn.btn-secondary.btn-cancel {
    color: var(--bs-gray-600); background: none;
}

.batch-uploaders select[name="csv-source"] { color: inherit; }
.batch-uploaders select[name="csv-source"][selectedIndex="0"] { color: var(--grey-light-text) !important; }

.batch-uploaders select.gray-text { color: var(--grey-light-text) !important; }



.batch-uploaders .table.jobs-list .job-name a { text-decoration:underline;  }

.batch-uploaders .hide-if-empty:empty { display: none; }


.batch-uploaders .show-hide-by-status[data-status] [show-for-status] { display:none; }

.batch-uploaders .show-hide-by-status[data-status="CREATED"] [show-for-status*="CREATED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="FINISHED"] [show-for-status*="FINISHED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="RUNNING"] [show-for-status*="RUNNING"] { display:block; }

.batch-uploaders .show-hide-by-status[data-status="PAUSED"] [show-for-status*="PAUSED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="PAUSED"] .show-inline-block[show-for-status*="PAUSED"] { display:inline-block; }

.batch-uploaders .show-hide-by-status[data-status="TERMINATED"] [show-for-status*="TERMINATED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="PENDING"] [show-for-status*="PENDING"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="QUEUED"] [show-for-status*="QUEUED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="FAILED"] [show-for-status*="FAILED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="STOPPED"] [show-for-status*="STOPPED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="FINISHED"] [show-for-status*="FINISHED"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="FINISHED"] .show-inline-block[show-for-status*="FINISHED"] { display:inline-block; }

.batch-uploaders .show-hide-by-status[data-status="RUNNING"] .show-inline-block[show-for-status*="RUNNING"] { display:inline-block; }

.batch-uploaders .show-hide-by-status[data-status="CREATED"] [hide-for-status*="CREATED"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="FINISHED"] [hide-for-status*="FINISHED"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="RUNNING"] [hide-for-status*="RUNNING"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="PAUSED"] [hide-for-status*="PAUSED"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="TERMINATED"] [hide-for-status*="TERMINATED"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="PENDING"] [hide-for-status*="PENDING"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="QUEUED"] [hide-for-status*="QUEUED"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="FAILED"] [hide-for-status*="FAILED"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="STOPPED"] [hide-for-status*="STOPPED"] { display:none; }
.batch-uploaders .show-hide-by-status[data-status="FINISHED"] [hide-for-status*="FINISHED"] { display:none; }

/* Parked states added after the original rule set: the gate's needs_review and
   the sample run's sample_ready. Both rule families must list every status.
   show-for-status has a base rule so an omission merely hides an element, but
   hide-for-status has none, so an omission SHOWS every control meant to be
   hidden, which is how Pause and Start ended up on parked jobs. */
.batch-uploaders .show-hide-by-status[data-status="NEEDS_REVIEW"] [show-for-status*="NEEDS_REVIEW"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="NEEDS_REVIEW"] .show-inline-block[show-for-status*="NEEDS_REVIEW"] { display:inline-block; }
.batch-uploaders .show-hide-by-status[data-status="NEEDS_REVIEW"] [hide-for-status*="NEEDS_REVIEW"] { display:none; }

.batch-uploaders .show-hide-by-status[data-status="SAMPLE_READY"] [show-for-status*="SAMPLE_READY"] { display:block; }
.batch-uploaders .show-hide-by-status[data-status="SAMPLE_READY"] .show-inline-block[show-for-status*="SAMPLE_READY"] { display:inline-block; }
.batch-uploaders .show-hide-by-status[data-status="SAMPLE_READY"] [hide-for-status*="SAMPLE_READY"] { display:none; }

/* A parked job must not read as a finished one. needs_review is a warning, not
   a failure: the run was stopped deliberately before anything was uploaded and
   it can be resumed. sample_ready is informational: the run did what it was
   asked and is waiting on a decision. */
.batch-uploaders table.jobs-list tr[data-status="NEEDS_REVIEW"] .status-plain-text,
.batch-uploaders .job-info-modal[data-status="NEEDS_REVIEW"] .job-status-text { color:#b3671a; font-weight:600; }

.batch-uploaders table.jobs-list tr[data-status="SAMPLE_READY"] .status-plain-text,
.batch-uploaders .job-info-modal[data-status="SAMPLE_READY"] .job-status-text { color:#0d6efd; font-weight:600; }

.batch-uploaders .download-report-line a { margin:0 0rem 0 0.25rem; }

.batch-uploaders .job-paused-info { display: block !important; }

.batch-uploaders .failed-images-indicator { color: red; padding: 0.5rem; /*opacity: 0.5;*/ }
.batch-uploaders .schedule-indicator { padding: 0.5rem; /*opacity: 0.5;*/ }
.batch-uploaders .queued-indicator { margin: 0 0 0 0.5rem; /*opacity: 0.5;*/ }

.batch-uploaders .legend-status { display: inline-block; margin-right: 0.5rem; font-size:0px;line-height:0px; width:0.75rem;height:0.75rem; border:1px solid rgba(0,0,0,0.1); vertical-align: baseline; top:1px; position: relative; }
.batch-uploaders .legend-status { background-color: #e9ecef; }
.batch-uploaders .legend-status.status-uploaded { background-color: #0d6efd; }
.batch-uploaders .legend-status.status-failed { background-color: #dc3545; }


.batch-uploaders .progress-bar.skipped,
.batch-uploaders .legend-status.status-skipped { background-color: rgb(255,193,7); }

.batch-uploaders [name="shedule_time"] { width:5rem; }

.inline-auto-width { display:inline-block; width:auto; }
.bootstrap-timepicker-widget table td input { margin:0 auto !important; padding:0; width: 40px !important; aspect-ratio: 1 / 1; border:1px solid #ced4da; }
.bootstrap-timepicker-widget table td a { padding:0 !important; }
.bootstrap-timepicker-widget.dropdown-menu.open { margin-top:10px; }

.batch-uploaders .form-check:has(input:disabled) {
    opacity: 0.4;
    pointer-events: none;
}


.circle-checkboxes {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
}
.circle-checkboxes input { display:none }
.circle-checkboxes label { 
    cursor: pointer;
    text-transform: uppercase;
    padding: 0.5rem;
    aspect-ratio: 1 / 1;
    font-size: 11px;
    font-weight: bold;
    padding: 0;    
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.circle-checkboxes li {
    display: inline-block;
    border:1px solid var(--light-grey-3);
    padding: 0 !important;
    border-radius: 100% !important;
    aspect-ratio: 1 / 1;
    margin-right: 0.5rem;
    width: 2.5rem;
    height: 2.5rem;    
    overflow: hidden;
}
.circle-checkboxes.smaller-circles li {
    width: 2rem;
    height: 2rem;    
}
.circle-checkboxes.flex-wrap li {
    margin-bottom: 0.5rem;
}
.circle-checkboxes li:last-child {
}

.circle-checkboxes li.checked { background:var(--link-main-color); color: #fff; }
/*.circle-checkboxes li:has(input:checked) { background:var(--link-main-color); color: #fff; }*/

.flex-wrap { flex-wrap:wrap; }

.batch-uploader-adspin-tool .wizard[data-current-step="STEP-WHERE-IS-CSV"] .wizard-steps > .wizard-buttons {
    display: none;
}
.batch-uploader-adspin-tool .wizard[data-current-step="STEP-WHERE-IS-CSV"]  .wizard-buttons {
    margin:2rem 0;
}
.batch-uploader-adspin-tool [data-step="STEP-WHERE-IS-CSV"] .csv-legend-adspin .badge {
    border: none;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 0.5rem;
}
.batch-uploader-adspin-tool [data-step="STEP-WHERE-IS-CSV"] .csv-legend-adspin .badge:last-child {
    margin-bottom: 0;
}
.batch-uploader-adspin-tool [data-step="STEP-WHERE-IS-CSV"] .csv-legend-adspin td {
    padding: 1rem 1rem 1rem 0;
    font-size: 0.9rem;
}
.batch-uploader-adspin-tool [data-step="STEP-WHERE-IS-CSV"] .csv-legend-adspin td:first-child {
    padding-left: 0;
    white-space: nowrap;
}
.batch-uploader-adspin-tool [data-step="STEP-WHERE-IS-CSV"] .csv-legend-adspin td p:last-child{
    margin-bottom: 0;
}
.batch-uploader-adspin-tool [data-step="STEP-WHERE-IS-CSV"] .csv-legend-adspin tr:last-child td {
    border: none;
}

a[data-href] { cursor:pointer; }

.icon-breadcrumb-next { width: 6px;
    height: 6px;
    margin: 0 4px 0 2px;
    padding: 0;
    transform: rotate(45deg);
    border-color: var(--light-grey-3);
    border-style: solid solid none none;
    border-width: 2px;
    display: inline-block;
    vertical-align: middle;
    margin:0 1rem;
    content: "";
}

.columns-list hr:last-child { display:none; }
span.counter { display:inline !important; }



#bootstrap-show-modal-0 {
    background: none;
}
.job-info-modal .modal-dialog.modal-dialog-centered {
    max-width: 700px;
}
.modal-dialog.modal-dialog-centered {
    max-width: 550px;
}
.modal-backdrop.show {
    opacity: 1;
    background-color: rgba(0,0,0,.5);
}

.prompt-modal {
    background-color: rgba(0,0,0,.3) !important;    
}
.prompt-modal .btn-close {
/*    display: none !important;*/
}

.modal-header {
    border-bottom: none;
}
.modal-footer {
    border-top: none;
}

.workflow__nav-item .bi { display: none}

.tool-title .bi { display:none; }

@media screen and (max-width: 768px) {
    .container.tool-selected { display:flex; flex-direction:column; }
    .workflow__nav.flex  { flex-direction:row; }
    .workflow__nav-item { max-width:calc(50% - 20px); margin:0; }
    .tool-selected .workflow__nav-item { max-width:100%; height:auto; }
    
    .container.tool-selected .workflow__nav-item { font-size: 0; padding:0.25rem; }
    .container.tool-selected .workflow__nav-item .bi { font-size: 1rem; display: inline-block; margin: 0 0.25rem; }
    .container.tool-selected .workflow__nav { padding-right:0.5rem; margin: 0; }
    .container.tool-selected { padding-left:0; }

    .table.jobs-list thead { display: none; }
    .table.jobs-list tr { display: block; }
    .table.jobs-list td { border:none; padding-top: 0.25rem !important; padding-bottom: 0.25rem !important; }
    .table.jobs-list td:last-child { border-bottom:1px solid var(--light-grey-3); }
    .table.jobs-list td:first-child { padding-top:0.5rem !important; }
    .table.jobs-list td.job-last-run,
    .table.jobs-list td.job-date-created { 
        display: none;
    }
    .tool-pane h3 { font-size:1.2rem; }

    .container.tool-selected .workflow__nav { flex-direction:row; flex-basis:100%; width:100%; flex-grow:1; justify-content: center; margin-bottom: 1rem; text-align: center;}
    .container.tool-selected .workflow__nav-item { width:auto; display: inline-block;}
    .container.tool-selected .tool-panes-holder { flex-basis:100%; width:100%; }
}

.btn.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.job-source.badge.text-bg-light {
    margin-top:0;
    margin-bottom:0;
    padding:0.25rem 0.5rem;
    color:var(--light-grey-3) !important;
    border-color:var(--super-light) !important;
    font-size: 13px;
}

.nav-pills.failed-image-report .nav-link.active, 
.nav-pills.failed-image-report .show>.nav-link {
    color: inherit;
    background: var(--workflow-gray-200);
}
.nav-pills.failed-image-report .nav-link { margin-bottom: 0.5rem; cursor: pointer; color: inherit;} 
.nav-pills.failed-image-report .nav-link:hover:not(.active) { background: var(--workflow-gray-2000); } 
.nav-pills.failed-image-report .nav-link b { display:block; border-bottom:1px solid transparent; padding-bottom:0rem; } 
.nav-pills.failed-image-report .nav-link.no-solution b { border-bottom:1px solid transparent; padding-bottom:0rem; margin-bottom:0rem; } 
.nav-pills.failed-image-report .nav-link .solution { font-size: 12px; } 

.nav-pills.failed-image-report .nav-link:not(.active) b { border-bottom:1px solid transparent; padding-bottom:0rem; margin-bottom:0rem;  } 
.nav-pills.failed-image-report .nav-link:not(.active) .solution { display: none; } 
.nav-pills.failed-image-report .nav-link.no-solution .solution { display: none; } 

.table.failed-images td:first-child{ padding-left:0; }

.solution blockquote {
    display: flex;
    flex-direction: row;
    font-size: inherit;
}
.solution blockquote a {
    color: inherit;
    text-decoration: underline;
}
.solution blockquote .bi {
    flex-grow: 0;
    font-size: 2.5rem;
    margin-right: 1rem;
    opacity: 0.5;
}

.multiAutocomplete-suggestions {
    max-height:300px !important;
}
.multiAutocomplete-suggestion  {
    padding:0.75rem 1rem !important;
    color:var(--light-grey-3);
}
.multiAutocomplete-suggestion  b {
    display:block;
    padding-bottom:0.5rem;    
    color:var(--primary-color);
}


.batch-uploaders select[name*="csv-mapping"] { color: inherit; }
.batch-uploaders select[name*="csv-mapping"][selectedIndex="0"] { color: rgb(33,37,41, 0.6); }

div.job-csv-filename-div {
    font-size: 12px;
    color: var(--dark-grey-secondary);
}

.job-info-modal .modal-header { align-items:self-start; }
.job-info-modal .btn-close { margin-top:0rem; }
.job-info-modal .job-source.badge { display: none; }

.input-error { border-color:red; }

.legend-table a[class*="report"] {
    margin-right: 0.75rem;
}
.download-report-line .bi,
.legend-table .bi {
    margin-right: 0.25rem;

}

.form-switch .form-check-input {
    width: 1.5em;
    margin-left: -2em;
}
.form-switch {
    padding-left: 2em;
}

.form-check-input:focus {
    box-shadow: none;
}

.alert.alert-danger a { color:inherit; text-decoration:underline; }

.csv-info-table { margin:0; }
.csv-info-table td:first-child { padding-left:0; white-space:nowrap; }
.csv-info-table td:last-child { width:100%; padding-left: 2rem; }

.csv-info-table-div { padding:0.5rem 1rem; background: var(--workflow-gray-2000); margin-bottom:1rem; }

.batch-uploaders .columns-list span[data-bs-toggle="tooltip"] { padding:0.5rem; opacity:0.75; vertical-align:middle; }
.batch-uploaders .columns-list .samples-list span[data-bs-toggle="tooltip"],
.batch-uploaders .columns-list .samples-list-more span[data-bs-toggle="tooltip"] { margin-left:0rem; padding: 0;}

.modal.prompt-modal { background:rgba(0,0,0,0.5); }

.samples-list-container .samples-list-more span,
.samples-list-container .samples-list span { margin-left:0 !important }

.batch-uploaders [data-step="STEP-NAMING"] .samples-list-more span.gray-text,
.batch-uploaders [data-step="STEP-NAMING"] .samples-list span.gray-text { display:inline-block; color:var(--grey-light-text); }

[data-client="META"] [data-step="STEP-NAMING"] .samples-list-more span.gray-text,
[data-client="META"] [data-step="STEP-NAMING"] .samples-list span.gray-text { display:none; }

[data-client="META"] [data-step="STEP-NAMING"] .samples-list-more .bi-arrow-right-short,
[data-client="META"] [data-step="STEP-NAMING"] .samples-list .bi-arrow-right-short { display:none; }

hr.dropdown-item { padding: 0 !important; }

.filename-flex-container { align-items: center;}
.filename-flex-container div { flex-grow:1; }
.filename-flex-container > span { flex-grow:0; white-space:nowrap; padding-left:0.5rem; }

.alert.non-image-urls,
.alert.contains-slashes,
.alert.multiple-urls-in-column {
    padding: 0;
    border: none;
    margin-bottom: 0;
    font-size: 12px;
    margin-top: 0.5rem;
    background: none;
}

.alert.non-image-urls .bi,
.alert.multiple-urls-in-column .bi,
.alert.contains-slashes .bi {
    margin-right: 0.25rem;
}

.wizard-errors .alert { margin-bottom:0; }

.tooltip { display:none; }
.tooltip[style] { display:inline-block; }

.failed-image-message .a {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;

}

.failed-images .failed-image-message {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--workflow-gray-200);
}
.failed-images .failed-image-message:last-child {
    border:none;
}

.failed-image-message {
    display: flex;
    flex-direction: row;
    align-items: start;
}
.failed-image-message .badge {
    border: 1px solid var(--workflow-gray-500);
    border-width: 1px;    
    font-size:11px;
    margin-top: .25rem;
}
.failed-image-message > span {
    flex-grow: 0;
    flex-shrink: 0;
    margin-right: 0.5rem;
}
.failed-image-message > div {
    flex-grow: 1;
    flex-shrink: 0;
    flex-basis: 100%;
    max-width: calc(100% - 30px);
}

.example-url { display:block; margin-top:1rem; }

[data-step="STEP-NAMING"] [data-bs-toggle] { padding:0.4rem; vertical-align: middle; }

.modal.job-info-modal[data-status="QUEUED"] .modal-footer { display:none; }


::placeholder {
  color: var(--grey-light-text) !important;
  opacity: 1;
}
:-ms-input-placeholder {
  color: var(--grey-light-text) !important;
  opacity: 1;
}
::-ms-input-placeholder {
  color: var(--grey-light-text) !important;
  opacity: 1;
}

[data-step="STEP-CONFIGURE-CSV"] .samples-list-container .samples-list span { position: relative; }
[data-step="STEP-CONFIGURE-CSV"] .samples-list-container .samples-list span a { padding:0.5rem 0 0.5rem 0.5rem; background:#fff; visibility:hidden; position: relative; top:-1px; }
[data-step="STEP-CONFIGURE-CSV"] .samples-list-container .samples-list span:hover a { visibility:visible; }

[data-step="STEP-CONFIGURE-CSV"] .samples-list-container .samples-list-more span { position: relative; }
[data-step="STEP-CONFIGURE-CSV"] .samples-list-container .samples-list-more span a { padding:0.5rem 0 0.5rem 0.5rem; background:#fff; visibility:hidden; position: relative; top:-1px; }
[data-step="STEP-CONFIGURE-CSV"] .samples-list-container .samples-list-more span:hover a { visibility:visible; }

.no-switch-account { filter:grayscale(1); opacity:0.5; }

.tooltip-left-text .tooltip-inner {
    text-align: left;
    padding: 1rem;
}

.accounts-list [data-bs-toggle] { font-size: 1.1rem !important; }

.alert.alert-warning a { color:inherit; text-decoration:underline; }

.dropdown-menu.profile-dropdown { z-index:111111; }

.ezdz-dropzone {
    border-radius: 10px !important;
    font-weight: normal !important;
    font-size: 18px !important;
    width: 100% !important;
    height: 100px !important;
    line-height: 100px !important;
    border: 2px dotted lightgray !important;
    color: var(--light-grey-3) !important;
}
.ezdz-dropzone a {
    text-decoration: underline !important;
}
.ezdz-dropzone span {
    border-radius: 10px !important;
    background: rgba(0,0,0,0.7);
    padding: 1rem !important;
}

.alert.csv-contains-duplicates p {
    max-height:300px;
    overflow-y:auto;
}

span.title sup,
.workflow__nav sup { font-size:12px; color:red; margin-left:0.25rem; }

.jobs-list sup { font-size:12px; color:red; margin-right:0.25rem; }

[data-status=PAUSED] .status-modal-block {
    padding: 0.5rem;
    background: #fff3cd;
}

.nowrap { white-space:nowrap; }

.detailed-summary-block td { font-size:12px; }
.detailed-summary-block td:first-child { font-weight:bold; padding-right: 1rem; }

.custom-fields-list a { color:inherit; }
.custom-fields-list td { width: 50%; }
.custom-fields-list td:first-child { padding-left: 0; padding-right: 0.5rem; }
.custom-fields-list td:last-child { width: auto; padding-right:0; }

.custom-field-name-block { display: flex; flex-direction: row; }
.custom-field-name-block input { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.custom-field-name-block a { padding:0.25rem 0.5rem; }
.custom-field-name-block input { padding: 0.25rem 0.5rem !important; }

.gray-text,
.gray-text td { color: var(--grey-light-text) !important; }

.error-text { color:red; }
.small-text,
.small-text td { font-size:12px; }

.normal-text  { font-size:inherit; }
.badge.normal-text  { padding: 0.25rem 0.5rem; }



.login-button.not-logged-btn span.loading-icon { display:none }

.login-state .login-button.not-logged-btn b,
.login-state .login-button.not-logged-btn span {  }
.login-state .login-button.not-logged-btn span.loading-icon { display:block; visibility: visible; }
.login-state .login-button.not-logged-btn:before {
    position: absolute;
    top:0;left: 0; width: 100%; height: 100%;
    background: var(--orange-color);
    opacity: 0.9;
    z-index: 1;
    content: '';
}
.login-button .loading-icon:after {
    border: 4px solid rgb(255, 255, 255, 0.4);
    border-top: 4px solid #fff;
}


.detailed-summary-link .bi-caret-right-fill { display:inline-block; }
.detailed-summary-link .bi-caret-down-fill { display:none; }

.detailed-summary-link .shown .bi-caret-right-fill { display:none; }
.detailed-summary-link .shown .bi-caret-down-fill { display:inline-block; }

.form-check.col-form-label { display:inline-block; }

[name="schedule_time"] { width:5rem; }

.saved-ftp-configurations ul {
    margin:0 !important;
    padding:0 !important;
} 
.saved-ftp-configurations .load-configuration { 
    padding-bottom:.75rem;
    padding-top:.75rem;
}
.saved-ftp-configurations .load-configuration .badge { font-size:10px; display:inline-block;   }
.saved-ftp-configurations .load-configuration .file-path { display:inline-block; font-size:12px; color: var(--grey-light-text) !important; }

.saved-ftp-configurations li {
    position: relative; 
}
.saved-ftp-configurations .delete-configuration { 
    color:red; 
    font-size:1.5rem; 
    position:absolute; 
    right:0.75rem; 
    top:50%; transform:translateY(-50%); 
    opacity:0;
    transition:0.3s;
    line-height: 1.5rem;
    border-radius: 100%;
}
.saved-ftp-configurations .delete-configuration:hover { 
    opacity: 1;
    background: rgba(255,0,0,1);
    color: #fff;
}
.saved-ftp-configurations li:hover .delete-configuration { 
    opacity:1;    
}

.saved-ftp-configurations li {
    border-bottom:1px solid var(--workflow-gray-200);
}
.saved-ftp-configurations li:last-child {
    border-bottom:none;
}


.tooltip-inner .timezone-name { display:none; }

.left-align-tooltip { text-align:left; display:block; white-space: nowrap; }
.left-align-tooltip span.do-wrap { white-space: pre-wrap; }
.tooltip-inner { max-width:350px; }

fieldset, legend {
   all: revert;
}
fieldset {
    border:1px solid var(--workflow-gray-200);
    padding:1rem;
}
legend {
    color:var(--dark-grey-secondary);
}


.dropdown-item.active, .dropdown-item:active {
    color: inherit;
}
.btn.download-csv > span.generating-csv { display:none; }
.btn.download-csv.generating-csv > span { display:none; }

.btn.download-csv.generating-csv > span.estimate-time { display:inline-block; }
.btn.download-csv.generating-csv > span.generating-csv { display:inline-block; }

.btn.init-amazon-job > span.generating-csv { display:none; }
.btn.init-amazon-job.generating-csv > span { display:none; }
.btn.init-amazon-job.generating-csv > span.estimate-time { display:inline-block; }
.btn.init-amazon-job.generating-csv > span.generating-csv { display:inline-block; }

.btn.init-image-report-job > span.generating-csv { display:none; }
.btn.init-image-report-job.generating-csv > span { display:none; }
.btn.init-image-report-job.generating-csv > span.estimate-time { display:inline-block; }
.btn.init-image-report-job.generating-csv > span.generating-csv { display:inline-block; }

.btn.init-folder-insights-job > span.generating-csv { display:none; }
.btn.init-folder-insights-job.generating-csv > span { display:none; }
.btn.init-folder-insights-job.generating-csv > span.estimate-time { display:inline-block; }
.btn.init-folder-insights-job.generating-csv > span.generating-csv { display:inline-block; }

.modal-sub-header { padding:0 1rem 1rem 1rem; }
.modal-sub-header .error { margin:0; }

.maintenance-mode-message { display:none; }
.maintenance-mode > * { display:none !important; }
.maintenance-mode .maintenance-mode-message { display:block !important; }


.dates-table td:first-child { padding-left:0; }
.dates-table td.td-top-padding { padding-top: 1.075rem !important;}

.csv-contains-404-list span { display:block; }
.progress-bar { background-color:#0d6efd; }

.alert p:last-child { margin-bottom:0 !important; }

td.job-extra-info {
    line-height: 1.3;
}

body:not(.super-admin) .super-admin-req { display:none !important; }
 

 .job-created-by { display:block; font-size:12px; }

 .active>.page-link, .page-link.active { 
 background-color:var(--link-main-color);
 border-color:var(--link-main-color);
  }


  .tool-pane.mass-delete-tool [data-tool="DELETE-OLD"] { display:none; }
  .tool-pane.mass-delete-old-tool [data-tool="DELETE"] { display:none; }
  .tool-pane.mass-delete-old-tool .search-conditions-list  { display:none; }

  [name="oldFilesDate"] { max-width:200px; }

  .nav.nav-tabs li { position:relative; top:1px; }
  .nav.nav-tabs li button { font-weight: normal; color:var(--link-main-color); }
  .nav.nav-tabs li button.active { color:inherit; }

  #md3-tab-panel textarea,
  #md2-tab-panel textarea { min-height:300px; width:100%; }
  
  .tool-pane.mass-delete-tool .method-list  .conditions-list { display:none; }
  .tool-pane.mass-delete-tool .method-list  .total-found { display:none; }
  
.jobs-list .dropdown-menu label.form-check-label {
    cursor: pointer;
    padding-top: .42857rem;
    padding-bottom: .42857rem;
    /* 1.07143rem */
}
.jobs-list .dropdown-menu div.form-switch:focus, .jobs-list .dropdown-menu div.form-switch:hover {
    background: var(--light-grey-2);
}

img.image-preview { max-width:none;width:36px; height:36px; object-fit:contain; /* border:1px solid var(--bs-border-color); */ }
.preview-td { text-align:center; }

[name="cdateTo_time"],
[name="cdateFrom_time"] { max-width:6rem; }

.csv-info-file-name,
.job-csv-filename.shorter {
    overflow-wrap:anywhere;
}

.btn.next-step i { display:none; }
.loading-button { position:relative; }
.loading-button:before { content:''; position: absolute; background:rgba(37,134,218, 0.9); display:block; top:0; left:0; width:100%; height:100%; z-index: 1; }
.loading-button i { display:inline-block !important; position:absolute; top:50%; left: 50%; transform: translate(-50%, -50%); z-index: 222; }
.loading-button i:after {
    border: 4px solid rgb(255,255,255, 0.3);
    border-top: 4px solid #ffffff;
}

/*.import-history-modal .modal-main-content { min-height:200px; }*/
.import-history-modal .loading .modal-main-content { visibility: hidden; }
.modal-body:not(.loading) .modal-main-content { visibility: visible; }

.import-history-modal table { margin:0; text-align: center; }
.import-history-modal table th { background: rgba(0,0,0,0.05); vertical-align: middle; font-weight: bold; }
/*.import-history-modal table thead th { padding-left: 0; }*/
.import-history-modal table tbody tr:last-child td { border-bottom:none; }
/*.import-history-modal table tbody td { padding: 1rem 0; }*/
.import-history-modal span[data-bs-toggle] { text-decoration:dashed; }


.import-history-modal {
    min-height:50px
}

.date-cell { text-align:left; }
.date-cell i { font-style:normal; display:block; font-size: 0.9rem; color:var(--dark-grey-secondary); }

.pl-2 { padding-left:2rem; }

.import-history-modal .download-report.format-csv .bi { margin-right:0.25rem; }


.import-history-modal table th { width:calc(100% / 7); }

.modal.job-info-modal[data-status="FINISHED"] .show-history-modal { display:inline-block; }

.modal.job-info-modal .tab-content { padding:1.5rem 0rem 0 0; }

.notschedule-job .only-for-schedule { display:none !important; }


.card.quick-search-form .row:first-child { margin-top:0; }
/*.card.quick-search-form { margin-bottom:0.5rem; }*/
.card.quick-search-form .card-body { padding: 0.5rem 1rem; }
.card.quick-search-form  { border-color:rgba(0, 0, 0, 0); background:rgba(0,0,0,0.04) }

.card.quick-search-form  .col > div { margin-top:0.25rem; }
.card.quick-search-form  form > .row { margin-top:0.5rem; align-items: end; }
.card.quick-search-form  .two-inputs { justify-content:space-between; }
.card.quick-search-form  .two-inputs > * { width:calc(50% - 0.25rem); flex-basis:calc(50% - 0.25rem); }
.d-flex .stretched { flex-basis:100%; }

.card.quick-search-form .load-search-filter, .card.quick-search-form .save-search-filter {  border-color:rgba(0,0,0,0.2) }
.card.quick-search-form .load-search-filter, .card.quick-search-form .save-search-filter i { margin-right:0.5rem; }

.checkboxes-holder { padding-top: 0.375rem; padding-bottom: 0.375rem; }
.checkboxes-holder input { margin-right: 0.25rem; }
.checkboxes-holder label:first-child { margin-right:1rem; }
.width-auto { width:auto; flex-grow:0; flex-basis:auto; }


.load-configuration-modal .modal-body { padding:0; }

.config-menu { list-style:none; margin:0; padding:0; }
.config-menu li { position:relative; }
.config-menu li > a.load-configuration { padding:0.5rem 3rem .5rem 1rem; display:block; color:inherit; }
.config-menu li > a.load-configuration:hover { background: var(--light-grey-2); }
.config-menu li > a.load-configuration span { font-size:13px; }
.config-menu li > a.load-configuration > b { display:block; }

.config-menu .delete-configuration { 
    color:red; 
    font-size:1.5rem; 
    position:absolute; 
    right:0.75rem; 
    top:50%; transform:translateY(-50%); 
    opacity:0;
    transition:0.3s;
    line-height: 1.5rem;
    border-radius: 100%;
}
.config-menu .delete-configuration:hover { 
    opacity: 1;
    background: rgba(255,0,0,1);
    color: #fff;
}
.config-menu li:hover .delete-configuration { 
    opacity:1;    
}

.config-menu li {
    border-bottom:1px solid var(--workflow-gray-200);
}
.config-menu li:last-child {
    border-bottom:none;
}

.no-round-corners { border-radius:0 !important; }
.no-border { border:none !important; }


.fl-50 { flex-basis:50%; }

.quick-search-form label { display:block; margin-bottom:0.25rem; }

.save-search-filter, .load-search-filter { color:inherit; }

body.super-admin .hide-for-super-admin { display:none !important; }
body:not(.super-admin) .hide-for-notsuper-admin { display:none !important; }

.tiny-dashboard .statuses-list { margin:0; list-style:none; padding:0; }
.tiny-dashboard .statuses-list li { margin:0 0 0 0; padding: 0; display: inline-block; white-space: nowrap; }
.tiny-dashboard .statuses-list li[data-num="0"] { filter:grayscale(1); opacity:0.3; pointer-events:none; }
.tiny-dashboard .statuses-list li[data-num="0"] a { text-decoration:none; }
.tiny-dashboard .statuses-list li > a { text-decoration:underline;

    padding: .75rem .75rem .75rem .75rem;
    
    border-radius: .25rem;

}
.card.tiny-dashboard { margin-bottom:0.5rem; 

    border-top: none;
    border-left: none;
    border-right: none;
    border-radius: 0;

}

.card.tiny-dashboard .row:first-child { margin-top:0; }
.card.tiny-dashboard { margin-bottom:0.5rem; }
.card.tiny-dashboard .card-body { padding: 1rem 0; }


.tiny-dashboard .statuses-list li > a .badge { margin-right:0.25rem; background-color: var(--link-main-color) !important; }


.tiny-dashboard .statuses-list li.active > a { color:#fff; text-decoration:none; background: var(--light-grey) !important;}
.tiny-dashboard .statuses-list li.active > a .badge { background-color:rgba(255,255,255,0.1) !important; }

nav.paging { border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); padding-top:1rem; }
nav.paging .number-per-page {width: 10rem; }


th[data-search-term] { cursor:pointer; }

.show-search-block { font-size:80%; }
.show-search-block a { color:inherit; opacity: 0.6; }


.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover { border-bottom-color:transparent; color:inherit; }

.d-inline-block {display:inline-block}
.color-inherit,
.color-inherit:before { color:inherit !important; }
.font-size-0-9 { font-size:0.9rem; }

.dotted-underline { border-bottom: 1px dotted rgb(33,37,41); text-decoration: none; }


.fileDropArea { 
    border-radius: 10px !important;
    font-weight: normal !important;
    font-size: 18px !important;
    width: 100% !important;
    height: 100px !important;
    line-height: 100px !important;
    border: 2px dotted lightgray !important;
    color: var(--light-grey-3) !important;
    display: block;
    position: relative;
}
.fileDropArea > .drag-handler {
    position: absolute;
    width:100%;
    height: 100%;
    top:0px;
    left: 0px;
    z-index: 1;
}
.fileDropArea > span.info-handler {
    position: absolute;
    top:50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
}
.fileDropArea > span.info-handler a {
    text-decoration: underline;
    color: inherit;
}
.fileUpload { display:none; }
.chosen-file { 
    cursor: pointer;
    position: absolute;
    top:50%;
    left: 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    background: black;
    border-radius: 12px;
    padding: 12px;
    color: #fff;
/*    display: none;*/
    line-height: 1;
    
}

input[name="csv-file"] { display:none; }

.modal.preview-css-modal .modal-dialog { max-width:95%; }

.modal.preview-css-modal table td, 
.modal.preview-css-modal table th { font-size:0.9rem; padding:.25rem .25rem; }
{ max-width:95%; }

.view-css-sample { color: inherit; text-decoration: underline; }


form.tool-16-to-8 .progress-block {
    margin-top:2rem;
}

form.tool-16-to-8 .convert-again {
    margin-top:1rem;
}
form.tool-16-to-8 .progress {
    max-width: 300px;
    height: 3px;
    overflow-y: auto;
    margin-bottom: 1rem;
}

form.tool-16-to-8 .result {
    font-weight: bold;
}


.tool-16-to-8 .step-2,
.tool-16-to-8 .step-3,
.tool-16-to-8 .step-4 { display:table-row; opacity: 0.3; }

.tool-16-to-8 .waiting-td { text-align:center; }
.tool-16-to-8 .table.steps { width:auto; }
.tool-16-to-8 .table.steps .loading-icon { display:none; }
.tool-16-to-8 .table.steps .waiting-td b { display:none; }
.tool-16-to-8 .table.steps td { white-space:nowrap; border:none; vertical-align: middle; }
.tool-16-to-8 .progress-block { display:inline-block !important; width:100px; margin:0 !important; visibility: hidden; }
.tool-16-to-8 .table.steps td:first-child { text-transform:uppercase; color:#aaa; }

.tool-16-to-8 .active-step { opacity:1; }
.tool-16-to-8 .active-step .waiting-td { position:relative; min-width: 90px; }
.tool-16-to-8 .active-step .waiting-td span:not(.loading-icon) { visibility:hidden; }
.tool-16-to-8 .active-step .waiting-td .loading-icon { display:block; position:absolute;top:50%; left:50%; transform:translate(-50%,-50%); margin:0 !important; }
.tool-16-to-8 .active-step .waiting-td { opacity:1; }
.tool-16-to-8 .active-step .progress-block { visibility:visible; }

.tool-16-to-8 .completed .waiting-td span { display:none }
.tool-16-to-8 .completed .waiting-td b { display:block }
.tool-16-to-8 .completed .waiting-td .loading-icon { display:none; }

.tool-16-to-8 .file-list-holder td.filename { width:100%; }

.file-does-not-exist .bi,
.file-does-not-exist .filename { color:red; }

.step-3 .method,
.step-3 .method { display:none; }

.step-3.method-normal .method.method-normal { display:block; }
.step-3.method-background .method.method-background { display:block; }


.mass-delete-tool.method-listfolders .conditions-list,
.mass-delete-tool.method-list .conditions-list { display:none; }

.mass-delete-tool table.file-list tr:last-child td { border:none !important; }

.samples-list-container a.ssamples-list-more-show { color:inherit; text-decoration: underline; font-size: 11px; color: var(--grey-light-text) !important}

.completed-step table { width:auto; margin: 1rem 0 !important; }
.completed-step table td { padding-left:0; padding-bottom: 0; }

.preview-css-modal .modal-body {
    overflow-y:scroll !important;
    overflow-x:scroll !important;
}

.info-text { color:green; }



.preview-css-modal .modal-body {
    overflow-y: auto !important;
    overflow-x: auto !important;
    padding-top: 0;
}
.preview-css-modal .modal-body div {
    position: relative;
}
.preview-css-modal .modal-body thead {
    position: sticky;
    top:0;
}

.preview-css-modal .modal-body::-webkit-scrollbar {
    -webkit-appearance: none;
}

.preview-css-modal .modal-body::-webkit-scrollbar:vertical {
    width: 11px;
}

.preview-css-modal .modal-body::-webkit-scrollbar:horizontal {
    height: 11px;
    width:100%;
}

.preview-css-modal .modal-body::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 2px solid white; /* should match background, can't be transparent */
    background-color: rgba(0, 0, 0, .5);
}

.nav-link .alert-warning { color:#664d03 !important; }

textarea[name="file-list"] { height:500px; }
textarea[name="skus-list"] { height:500px; }

[data-method="list"] .download-csv-block { display:none; }


.samples-list-holder {
    overflow-x: scroll;
}

.samples-list-holder::-webkit-scrollbar {
    -webkit-appearance: none;
}

.samples-list-holder::-webkit-scrollbar:vertical {
    width: 11px;
}

.samples-list-holder::-webkit-scrollbar:horizontal {
    height: 11px;
    width:100%;
}

.samples-list-holder::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 2px solid white; /* should match background, can't be transparent */
    background-color: rgba(0, 0, 0, .5);
}


.fileDropArea > .drag-handler { z-index:2111111111; cursor: pointer;}

.fileDropArea > span.info-handler { line-height:0px !important; }

[data-client="META"] [data-step="STEP-WHERE-ARE-FILES"] .form-check ,
[data-client="RENAME"] [data-step="STEP-WHERE-ARE-FILES"] .form-check ,
[data-client="MOVE"] [data-step="STEP-WHERE-ARE-FILES"] .form-check 
{ display:block; }

.large-files-uploader-tool div.progress { height:6px; }
.large-files-uploader-tool div.progress-block .eta-block { text-align:left !important; }

.large-files-uploader-tool .err { color:red; }

.large-files-uploader-tool .file-upload,
.max-width-wizard { max-width:500px; }

.large-files-uploader-tool [name="tus-endpoints"] { width:auto; display: inline-block; }

.large-files-uploader-tool .change-cdn-location { color:inherit; text-decoration:underline; }

.find-and-replace-block .row { align-items: center;}
.find-and-replace-block .row .col { flex-basis:calc(50% - 4rem); flex-grow:1; padding-right: 0; }
.find-and-replace-block .row .col:last-child { flex-basis:3rem; flex-grow:0; }

.text-warning { color:#664d03 !important; }

div.dropdown .dropdown .disabled { pointer-events:none; }


.gray-text a { color:inherit; text-decoration:underline; }

[data-toggle-data="find-and-replace"] .row > div { align-content:center; }

.ml-mr-6px { margin-left:6px; margin-right:6px; }

.dropdown-suggestions button.dropdown-toggle:after { content: none; } 
.dropdown-suggestions button.dropdown-toggle { 
border-right: 1px solid #ced4da;
border-bottom: 1px solid #ced4da;
border-top: 1px solid #ced4da;
border-left: 1px solid #ced4da;
border-top-left-radius:0;
border-bottom-left-radius:0;
}


.dropdown-suggestions .dropdown-menu a  {
    padding:0.5rem 1rem !important;
    color:var(--light-grey-3);
    text-decoration: none;
    padding-bottom:0.5rem;    
}
.dropdown-suggestions .dropdown-menu a  b {
    display:block;
    color:var(--primary-color);
}
.dropdown-suggestions .dropdown-menu a  span {
    display: block;
    font-size:13px;
}

.examples-table { width: auto;}
.examples-table td { vertical-align: top; }
.examples-table td:first-child { padding-left:0; }
.examples-table td:last-child { padding-right:0; }
.examples-table tr:last-child td { border:none;}

.dropdown-suggestions button {padding-right: 0.75rem !important;}


.sample-preview-row { display:flex; flex-direction:row; align-content:top; margin-bottom:1rem; padding-bottom:1rem; border-bottom:1px solid var(--light-grey-2); }
.sample-preview-row > div:first-child { flex-shrink:0; flex-basis:60px; }
.sample-preview-row > div:first-child img { margin-top: 0.25rem; border:1px solid var(--light-grey-2); width:60px; height:60px; object-fit: contain;}
.sample-preview-row > div:last-child {flex-basis:100%;padding-left: 1.25rem;}
.sample-preview-row > div:last-child ul { margin:0; padding: 0; list-style: none; }
.sample-preview-row > div:last-child ul li {margin: 0 0 .05rem 0 !important;}
.sample-preview-row > div:last-child ul li:last-child { margin:0 !important; }
.sample-preview-row .gray-text { color:#a0a0a0; opacity:0.5; }
.sample-preview-row li span { margin:0 !important;}

.sample-preview-row > div:first-child .bi { display:flex;margin-top: 0.25rem;border:1px solid var(--light-grey-1);width:60px;height:60px;color:var(--light-grey);opacity:0.2;font-size:2rem;text-align: center;justify-content: center;flex-direction: row;align-items: center;align-content: center;} 



.email-notifications ul { margin:0; padding:0; list-style:none; }
.email-notifications ul li {  margin:0.0rem 0; padding:0 3rem 0 0; }
.email-notifications ul li span {  margin:0.5rem 0; padding:0 3rem 0 0; display:flex; flex-direction: row; }
.email-notifications ul li:last-child { margin:0; }
.email-notifications ul li .form-check { min-height:0; padding:0; }
.email-notifications ul li .form-check .form-check-input { margin-left:0; margin-right: .5rem; }
.email-notifications ul li .delete { color:red; margin:0 0 0rem 0.25rem; font-size:1.15rem;}


.text-red { color:red; }


.force-wrap {
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    word-break: break-all;
    word-break: break-word;    
}

.dropdown-suggestions ul { max-height:350px; overflow:auto;}

.dropdown-suggestions ul::-webkit-scrollbar {
    -webkit-appearance: none;
}

.dropdown-suggestions ul::-webkit-scrollbar:vertical {
    width: 11px;
    background:#fff;
}

.dropdown-suggestions ul::-webkit-scrollbar:horizontal {
    height: 11px;
    width:100%;
}

.dropdown-suggestions ul::-webkit-scrollbar-thumb {
    border-radius: 8px;
    border: 2px solid white; /* should match background, can't be transparent */
    background-color: rgba(0, 0, 0, .5);
}


.batch-uploaders .limits-info {
    font-size: var(--bs-body-font-size);
    border-color: transparent;
    background: var(--workflow-gray-200);
}

.error-text a { color:inherit; text-decoration:underline;}


.amazon-tool .search-conditions-list .conditions-list { display: none; }
.amazon-tool .delete-job { color:red; }
.amazon-tool .no-images { opacity:0.3; }

.image-report-tool .search-conditions-list .conditions-list { display: none; }
.image-report-tool .delete-job { color:red; }
.image-report-tool .no-images { opacity:0.3; }

.spin-report-tool .search-conditions-list .conditions-list { display: none; }
.spin-report-tool .delete-job { color:red; }
.spin-report-tool .no-images { opacity:0.3; }

.folder-insights-tool .search-conditions-list .conditions-list { display: none; }
.folder-insights-tool .delete-job { color:red; }
.folder-insights-tool .no-images { opacity:0.3; }


.folder-td-header i.bi { opacity:1 !important; width:auto !important; display:inline-block !important;  opacity:0.8 !important; }
.folder-td-header { background: var(--workflow-gray-200) !important; color: inherit; font-weight: bold; }

.file-list tr:last-child td { border:none !important; }

.modal-delete-question .btn-true { background-color:#dc3545 !important; border:1px solid #a52834  !important;  }

.weight-normal { font-weight:normal; }

.modal.api-limits-modal .modal-dialog { max-width:75%; }


.samples-list.skeleton {
    
}

.samples-list.skeleton > span > span { display: inline-block !important; }
.samples-list.skeleton > span {
    display: block;
    border-radius: 4px;
    background: linear-gradient(
      100deg,
      #e0e0e0 20%,
      #f0f0f0 40%,
      #e0e0e0 60%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

/* 
.samples-list.skeleton span:nth-child(1) { width: 90%; }
.samples-list.skeleton span:nth-child(2) { width: 100%; }
.samples-list.skeleton span:nth-child(3) { width: 80%; }
.samples-list.skeleton span:nth-child(4) { width: 95%; }
.samples-list.skeleton span:nth-child(5) { width: 60%; }
*/
@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

.clearfix { line-height:0; height:0; font-size:0; }


.batch-download-tool .conditions-list {
    display: none !important;
}

.no-border { border:none !important; padding-bottom:0 !important; }



.batch-uploaders[data-client="MOVE"] .add-another-image-column,
.batch-uploaders[data-client="MOVE"] .show-extra-fields {
    display: none !important;
}

.batch-uploaders[data-client="MOVE"] [data-column-type="IMAGEURL"] .counter { display:none !important; }
.batch-uploaders[data-client="MOVE"] [data-column-type="IMAGEURL"] .alert.non-image-urls { display:none !important; }

/* The Review tab needs both gates at once: only the four clients the guardrail
   gate applies to (Adspin has an empty guardrail profile), and only while the
   job is parked. data-client-sh and show-for-status have equal specificity, so
   putting both on one element resolves by source order rather than by
   intersection. One explicit rule per pair instead. */
.batch-uploaders .guardrail-review-tab { display:none; }

.batch-uploaders[data-client="GENERAL"] .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-review-tab,
.batch-uploaders[data-client="RENAME"]  .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-review-tab,
.batch-uploaders[data-client="MOVE"]    .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-review-tab,
.batch-uploaders[data-client="META"]    .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-review-tab { display:list-item; }

/* Same double-gate problem as the Review tab above: client and status both
   need to hold at once, and data-client-sh / show-for-status share
   specificity, so an explicit rule per pair replaces putting both on one
   element. */
.batch-uploaders .guardrail-resume-btn,
.batch-uploaders .guardrail-skip-always-btn { display:none; }

.batch-uploaders[data-client="GENERAL"] .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-resume-btn,
.batch-uploaders[data-client="RENAME"]  .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-resume-btn,
.batch-uploaders[data-client="MOVE"]    .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-resume-btn,
.batch-uploaders[data-client="META"]    .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-resume-btn,
.batch-uploaders[data-client="GENERAL"] .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-skip-always-btn,
.batch-uploaders[data-client="RENAME"]  .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-skip-always-btn,
.batch-uploaders[data-client="MOVE"]    .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-skip-always-btn,
.batch-uploaders[data-client="META"]    .show-hide-by-status[data-status="NEEDS_REVIEW"] .guardrail-skip-always-btn { display:inline-block; }

/* Hidden by JS on a mid-sync missing-source stop: guardrail_mode does not
   govern that rule, so a permanent bypass is not on offer. */
.batch-uploaders .guardrail-skip-always-btn.d-none { display:none !important; }

.batch-uploaders .guardrail-mode-indicator { padding:0.5rem; color:#b3671a; }

/* GENERAL only: demo is upload-only in the backend, so no other client can
   ever reach sample_ready. Same combined-gate reasoning as the Review tab. */
.batch-uploaders .sample-review-tab { display:none; }
.batch-uploaders[data-client="GENERAL"] .show-hide-by-status[data-status="SAMPLE_READY"] .sample-review-tab { display:list-item; }

/* Twenty thumbnails do not fit the default centred dialog. */
.batch-uploaders .job-info-modal[data-status="SAMPLE_READY"] .modal-dialog { max-width:800px; }

.batch-uploaders .sample-rows .sample-row { display:flex; gap:1rem; align-items:flex-start; padding:0.5rem 0; border-bottom:1px solid var(--workflow-gray-2000, #e9ecef); }
/* A fixed box in both directions, not height:auto. These are customer images
   of any shape, and a tall narrow one (a product bag stood upright) at 100px
   wide came out over a thousand pixels high, pushing the next row off screen.
   object-fit:contain letterboxes rather than crops, so a thumbnail never
   misrepresents what was uploaded by hiding part of it.
   Same 100x60 as the missing-thumbnail placeholder below, so an uploaded row
   and a failed one line up. */
.batch-uploaders .sample-rows .sample-row img { width:100px; height:60px; flex:0 0 100px; object-fit:contain; background:#f8f9fa; }
.batch-uploaders .sample-rows .sample-row .sample-thumb-missing { width:100px; height:60px; flex:0 0 100px; background:#f8f9fa; border:1px dashed #dee2e6; }
.batch-uploaders .sample-rows .sample-row .sample-urls { min-width:0; word-break:break-all; font-size:0.85rem; }

/* This box sits inside a tab pane, unlike the full-bleed banner under the
   modal header that no-round-corners/no-border were written for. Those two
   helpers are avoided here on purpose: .no-border also sets
   padding-bottom:0 (style.css, the second of its two declarations), which
   pushed the text against the bottom edge and left the counters table butting
   straight into it. */
.batch-uploaders .guardrail-reason { margin-bottom:1.25rem; }
.batch-uploaders .guardrail-reason > div { margin-top:0.35rem; }
.batch-uploaders .guardrail-numbers { margin-bottom:0.5rem; }
.batch-uploaders .guardrail-report-line { margin-top:0.75rem; }

/* GENERAL only, same combined-gate reasoning as the Review tab and its buttons
   above: demo is upload-only in the backend, so no other client ever reaches
   sample_ready. */
.batch-uploaders .sample-continue-btn,
.batch-uploaders .sample-discard-btn { display:none; }

.batch-uploaders[data-client="GENERAL"] .show-hide-by-status[data-status="SAMPLE_READY"] .sample-continue-btn,
.batch-uploaders[data-client="GENERAL"] .show-hide-by-status[data-status="SAMPLE_READY"] .sample-discard-btn { display:inline-block; }

/* "Edit settings" in the job modal's footer. Edit already existed, but only in
   the row's dropdown, which is the wrong place: someone who has just read the
   sample results is looking at this modal, not at the list behind it, and the
   whole point of a sample is to change something afterwards. Fails safe like
   the rules above, hidden unless the status is listed.

   Shown on the three parked states, which is exactly where the row menu offers
   Edit for a one-time job, so the button cannot appear where the dialog it
   opens would be unreachable. STOPPED is the state a discarded sample lands in.
   Not gated on client: needs_review is reachable in rename, move and meta too,
   and Edit is offered there as well. */
.batch-uploaders .open-edit-btn { display:none; }

.batch-uploaders .show-hide-by-status[data-status="SAMPLE_READY"] .open-edit-btn,
.batch-uploaders .show-hide-by-status[data-status="NEEDS_REVIEW"] .open-edit-btn,
.batch-uploaders .show-hide-by-status[data-status="STOPPED"] .open-edit-btn { display:inline-block; }

/* Run sample / Run all, the wizard's final step. Two lines per button: the
   action, then how much it will process. Scoped to .batch-uploaders like
   everything else here, because this stylesheet loads on every tool page. */
/* Run sample / Run all carry a second line, plain Save does not, so the row
   has to stretch them to a common height rather than let each size itself.
   align-items:stretch on the row does that; the column flex inside each button
   then keeps one line of text optically centred in a two-line box. */
.batch-uploaders .save-buttons { display:inline-flex; align-items:stretch; gap:0.5rem; }
.batch-uploaders .save-buttons .btn { display:inline-flex; flex-direction:column; justify-content:center; line-height:1.2; text-align:center; }
/* Markup order is save, sample, all; on screen the run-now button always comes
   last, whichever of save/all is playing that part for the current frequency. */
.batch-uploaders .save-buttons [data-run="sample"] { order:1; }
.batch-uploaders .save-buttons [data-run="save"] { order:2; }
.batch-uploaders .save-buttons [data-run="all"] { order:3; }
.batch-uploaders .save-buttons .run-btn-label { display:block; }
.batch-uploaders .save-buttons .run-btn-count { display:block; font-size:0.75em; opacity:0.85; }
.batch-uploaders .save-buttons .run-btn-count:empty { display:none; }

/* The Edit dialog is reparented under <body>, out of .batch-uploaders' reach,
   so its copy of the same buttons is scoped by the modal class instead.
   Bootstrap's .modal-footer centres its items; stretch is a no-op for the
   other dialogs in this class, which have single-line buttons only. */
.prompt-modal .modal-footer { align-items:stretch; }
.prompt-modal .modal-footer .btn { display:inline-flex; flex-direction:column; justify-content:center; line-height:1.2; text-align:center; }
.prompt-modal .modal-footer .run-btn-label { display:block; }
.prompt-modal .modal-footer .run-btn-count { display:block; font-size:0.75em; opacity:0.85; }
.prompt-modal .modal-footer .run-btn-count:empty { display:none; }
