/* IJMTIP v2.2 — author/revision responsive stability + optional revision files */

/* One containment rule for author-facing workspaces. */
.submission-wizard-shell{
    width:100% !important;
    max-width:1280px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:clamp(14px,2vw,28px) !important;
    padding-right:clamp(14px,2vw,28px) !important;
    box-sizing:border-box !important;
}

.submission-wizard-shell *,
.author-action-required,
.author-action-required *,
.wizard-card,
.wizard-card *{
    box-sizing:border-box;
}

.author-dashboard-heading,
.author-action-required,
.author-revision-task-list,
.author-revision-task,
.my-submission-list,
.my-submission-row,
.author-revision-status,
.revision-author-page,
.revision-compact-upload-row,
.revision-submit-card,
.revision-extra-files,
.revision-extra-grid,
.revision-extra-box,
.wizard-actions{
    min-width:0 !important;
    max-width:100% !important;
}

/* Header cannot push actions outside the viewport. */
.author-dashboard-heading{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:16px !important;
}
.author-dashboard-heading>div:first-child{
    flex:1 1 540px !important;
    min-width:0 !important;
}
.author-dashboard-actions{
    flex:0 1 auto !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    gap:8px !important;
}
.author-dashboard-actions .button{
    max-width:100% !important;
    white-space:normal !important;
}

/* Pending revision box: content + action wrap naturally, never overflow. */
.author-revision-task{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:12px 16px !important;
    width:100% !important;
}
.author-revision-task-main{
    flex:1 1 560px !important;
    min-width:0 !important;
}
.author-revision-task-main strong{
    display:block !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
}
.author-revision-task-action{
    flex:0 1 190px !important;
    min-width:0 !important;
    max-width:100% !important;
}
.author-revision-task-action .button{
    width:100% !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
}

/* Manuscript list: no fixed right column. */
.my-submission-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:14px 18px !important;
    width:100% !important;
    overflow:visible !important;
}
.my-submission-row>div:first-child{
    flex:1 1 650px !important;
    min-width:0 !important;
    max-width:100% !important;
}
.my-submission-row>div:first-child>strong{
    display:block !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
}
.my-submission-actions{
    flex:0 1 180px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    align-items:stretch !important;
}
.my-submission-actions .button,
.my-submission-actions .status-pill{
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
}
.author-revision-status{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
}
.author-revision-status>div{
    flex:1 1 300px !important;
    min-width:0 !important;
}
.author-revision-status .button{
    flex:0 1 auto !important;
    max-width:100% !important;
    white-space:normal !important;
}

/* Revision upload rows use wrapping flex instead of fixed grids. */
.revision-author-page{
    width:100% !important;
    max-width:1120px !important;
}
.revision-compact-upload-row{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:14px 18px !important;
    width:100% !important;
}
.revision-compact-upload-row>div{
    flex:1 1 520px !important;
    min-width:0 !important;
}
.revision-compact-upload-row>.revision-compact-file{
    flex:0 1 320px !important;
    width:min(100%,320px) !important;
    min-width:0 !important;
    max-width:100% !important;
}
.revision-compact-file input[type=file]{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    font-size:10px !important;
}
.revision-submit-card{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:14px !important;
}
.revision-submit-card>div:first-child{
    flex:1 1 520px !important;
    min-width:0 !important;
}
.revision-submit-card>.wizard-actions{
    flex:0 1 auto !important;
}
.wizard-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    gap:8px !important;
}
.wizard-actions .button{
    max-width:100% !important;
    white-space:normal !important;
}

/* Optional revision files. */
.revision-extra-files{
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--line);
}
.revision-extra-files-head h3{
    margin:4px 0;
    font-size:16px;
}
.revision-extra-files-head p{
    margin:0 0 12px;
    color:var(--muted);
    font-size:10.5px;
}
.revision-extra-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.revision-extra-box{
    display:grid;
    gap:11px;
    padding:13px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-soft);
}
.reviewer-extra-box{
    border-left:3px solid #137f80;
}
.editor-extra-box{
    border-left:3px solid #607788;
}
.revision-extra-box strong{
    display:block;
    font-size:11.5px;
}
.revision-extra-box p{
    margin:4px 0;
    font-size:10px;
    color:var(--ink-2);
    line-height:1.45;
}
.revision-extra-box small{
    font-size:8.8px;
    color:var(--muted);
}
.revision-existing-extra-list{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.revision-existing-extra-list span{
    display:inline-block;
    max-width:100%;
    padding:5px 7px;
    border:1px solid var(--line);
    border-radius:7px;
    background:#fff;
    font-size:9px;
    overflow-wrap:anywhere;
}
.revision-preview-extra-files{
    display:grid;
    gap:10px;
    margin:14px 0;
    padding:13px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-soft);
}
.revision-preview-extra-files>div{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
}
.revision-preview-extra-files span{
    font-size:9px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
}
.revision-preview-extra-files a{
    max-width:100%;
    overflow-wrap:anywhere;
    font-size:10px;
}

/* Intermediate widths: put actions below instead of clipping them. */
@media(max-width:1050px){
    .author-dashboard-actions{
        flex:1 1 100% !important;
        justify-content:flex-start !important;
    }
    .my-submission-actions{
        flex:1 1 100% !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
    }
    .my-submission-actions>*{
        flex:0 1 auto !important;
    }
}
@media(max-width:820px){
    .revision-extra-grid{
        grid-template-columns:1fr;
    }
    .revision-compact-upload-row>.revision-compact-file{
        flex:1 1 100% !important;
        width:100% !important;
    }
    .revision-submit-card>.wizard-actions{
        flex:1 1 100% !important;
    }
    .revision-submit-card>.wizard-actions .button{
        width:100% !important;
    }
}
@media(max-width:620px){
    .my-submission-actions{
        flex-direction:column !important;
    }
    .my-submission-actions>*{
        width:100% !important;
    }
    .author-revision-task-action{
        flex:1 1 100% !important;
    }
}


/* IJMTIP v2.10 — revision files follow configured initial-submission requirements. */
.revision-requirement-list{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
}
.revision-requirement-card{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    gap:14px 18px !important;
    width:100% !important;
    min-width:0 !important;
    padding:14px !important;
    border:1px solid var(--line) !important;
    border-radius:10px !important;
    background:var(--surface-soft) !important;
}
.revision-requirement-card.reviewer-visible{
    border-left:3px solid #137f80 !important;
}
.revision-requirement-card.editor-only{
    border-left:3px solid #607788 !important;
}
.revision-requirement-info{
    flex:1 1 540px !important;
    min-width:0 !important;
}
.revision-requirement-title{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:7px !important;
}
.revision-requirement-title strong{
    font-size:11.5px !important;
}
.visibility-chip{
    display:inline-flex !important;
    align-items:center !important;
    padding:4px 7px !important;
    border:1px solid var(--line) !important;
    border-radius:999px !important;
    background:#fff !important;
    font-size:8.5px !important;
    font-weight:800 !important;
}
.revision-requirement-info>p{
    margin:5px 0 !important;
    font-size:10px !important;
    line-height:1.45 !important;
}
.revision-requirement-info>small{
    font-size:8.8px !important;
    color:var(--muted) !important;
}
.revision-requirement-upload{
    flex:0 1 300px !important;
    width:min(100%,300px) !important;
    min-width:0 !important;
    display:grid !important;
    gap:8px !important;
}
.revision-origin-files,
.revision-current-requirement-files{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:5px !important;
    margin-top:9px !important;
    min-width:0 !important;
}
.revision-origin-files>span,
.revision-current-requirement-files>span{
    flex:1 1 100% !important;
    font-size:8.5px !important;
    font-weight:850 !important;
    text-transform:uppercase !important;
    color:var(--muted) !important;
}
.revision-origin-files b,
.revision-current-requirement-files b{
    display:inline-block !important;
    max-width:100% !important;
    padding:4px 6px !important;
    border:1px solid var(--line) !important;
    border-radius:6px !important;
    background:#fff !important;
    font-size:8.8px !important;
    overflow-wrap:anywhere !important;
}
.revision-origin-files small{
    flex:1 1 100% !important;
    font-size:8.5px !important;
    color:var(--muted) !important;
}
.requirement-anonymity-confirmation{
    margin:0 !important;
}
@media(max-width:820px){
    .revision-requirement-upload{
        flex:1 1 100% !important;
        width:100% !important;
    }
}
