/* EditorialFlow v1.2.1 - portal theme */
:root {
    --brand: #cf6f24;
    --action: #0877b4;
    --action-dark: #075f8f;
    --bg: #f7f9fb;
    --text: #111827;
    --muted: #657180;
    --border: #d8e0e7;
    --soft: #eef7fd;
    --ok: #2e8b45;
    --warn: #a86800;
    --danger: #b42318;
    --card: #fff;
    --shadow: 0 8px 30px rgba(20,45,70,.06)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: Arial,"Segoe UI",sans-serif;
    background: #fff;
    color: var(--text);
    line-height: 1.48;
    font-size: 15px
}

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

a:hover {
    text-decoration: underline
}

h1,h2,h3 {
    line-height: 1.2;
    color: #101827
}

h1 {
    font-size: 32px
}

h2 {
    font-size: 22px
}

h3 {
    font-size: 17px
}

.muted {
    color: var(--muted)
}

.required {
    color: #b42318
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

.topbar {
    background: #fff;
    position: relative;
    z-index: 20
}

.topbar-inner {
    max-width: 1440px;
    margin: auto;
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 10px 22px;
    gap: 20px
}

.portal-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #111827;
    font-weight: 800;
    font-size: 18px
}

.portal-brand:hover {
    text-decoration: none
}

.publisher-logo {
    max-height: 54px;
    max-width: 78px;
    object-fit: contain
}

.site-logo {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 50%
}

.brand-mark {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--action);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 800
}

.nav {
    display: flex;
    align-items: center;
    gap: 17px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.nav a,.nav .link-button {
    color: #101827;
    font-size: 14px
}

.nav form {
    margin: 0
}

.link-button {
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    color: var(--action);
    cursor: pointer
}

.link-button:hover {
    text-decoration: underline
}

.user-role {
    font-size: 12px;
    color: var(--muted)
}

.journal-band {
    background: var(--brand);
    color: #fff
}

.journal-band-inner {
    max-width: 1320px;
    margin: auto;
    min-height: 122px;
    display: flex;
    gap: 28px;
    padding: 12px 22px;
    position: relative;
    align-items: center;
    margin-bottom: 18px;
}

.journal-band-inner:after {
    content: "";
    position: absolute;
    left: 134px;
    right: 22px;
    bottom: -4px;
    height: 4px;
    background: #31363b;
    z-index: 200;
}

.journal-cover {
    /* width: 86px; */
    height: 160px;
    object-fit: cover;
    background: #fff;
    border: 1px solid rgba(255,255,255,.6);
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
    align-self: flex-end;
    margin-bottom: -13px !important;
    z-index: 999;
}

.journal-logo-cover {
    object-fit: contain;
    padding: 8px
}

.journal-band h1 {
    margin: 0;
    font-size: 31px;
    font-weight: 500;
    color: inherit
}

.journal-band p {
    margin: 7px 0 0;
    font-size: 17px;
    color: rgba(255,255,255,.95)
}

.journal-guide {
    margin-left: auto;
    color: #fff;
    font-weight: 700;
    white-space: nowrap
}

.journal-guide:hover {
    color: #fff
}

.platform-band {
    background: linear-gradient(90deg,var(--action-dark),var(--action));
    color: #fff
}

.platform-band .journal-band-inner {
    min-height: 96px
}

.platform-band .journal-band-inner:after {
    display: none
}

.container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 28px 22px 54px;
    min-height: 530px
}

.narrow {
    max-width: 830px
}

.grid {
    display: grid;
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: 18px
}

.col-3 {
    grid-column: span 3
}

.col-4 {
    grid-column: span 4
}

.col-6 {
    grid-column: span 6
}

.col-8 {
    grid-column: span 8
}

.col-9 {
    grid-column: span 9
}

.col-12 {
    grid-column: span 12
}

.split {
    display: grid;
    grid-template-columns: minmax(0,2fr) minmax(280px,1fr);
    gap: 22px
}

.card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 22px;
    box-shadow: none;
}

.soft-card {
    background: linear-gradient(135deg,#fff,#f6fbff);
    box-shadow: var(--shadow)
}

.card h2,.card h3 {
    margin-top: 0
}

.toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    flex-wrap: wrap;
    margin: 8px 0 18px
}

.actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap
}

.stat {
    font-size: 34px;
    font-weight: 800;
    color: var(--action)
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid var(--action);
    border-radius: 0;
    background: var(--action);
    color: #fff;
    font-weight: 700;
    padding: 10px 15px;
    cursor: pointer;
    text-decoration: none;
    min-height: 40px;
}

.btn:hover {
    background: var(--action-dark);
    border-color: var(--action-dark);
    text-decoration: none
}

.btn.secondary {
    background: #fff;
    color: var(--action)
}

.btn.secondary:hover {
    background: #f3f9fc
}

.notification-item .btn.small {
    padding: 10px 15px !important;
}

.btn.mutedbtn {
    background: #fff;
    border-color: #aeb8c1;
    color: #344054
}

.btn.danger {
    background: var(--danger);
    border-color: var(--danger)
}

.btn.small {
    font-size: 13px;
    padding: 13px 10px;
    min-height: 32px
}

.btn:disabled {
    opacity: .45;
    cursor: not-allowed
}

.danger-text {
    color: var(--danger)!important
}

label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
    text-transform: capitalize;
}

.field {
    margin-bottom: 17px
}

.form-grid {
    display: grid;
    /* grid-template-columns: 1fr 1fr; */
    gap: 15px
}

.full {
    grid-column: 1/-1
}

input,select,textarea {
    width: 100%;
    border: 1px solid #aeb9c4;
    border-radius: 0;
    padding: 10px 11px;
    font: inherit;
    background: #fff;
    color: #111827
}

textarea {
    min-height: 72px;
    resize: vertical
}

input:focus,select:focus,textarea:focus {
    outline: 2px solid rgba(8,119,180,.18);
    border-color: var(--action)
}

.inline-input {
    width: auto!important;
    margin-right: 7px
}

.inline-choice {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 22px;
    font-weight: 500
}

.inline-choice input {
    width: auto
}

.hint {
    font-size: 13px;
    color: var(--muted);
    margin-top: 5px
}

.input-action {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
    align-items: stretch
}

.input-action .btn {
    min-height: auto
}

.checkbox-stack {
    display: grid;
    gap: 8px
}

.toggle-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px 16px;
    padding: 12px;
    border: 1px solid var(--border);
    background: #f9fbfc
}

.notice,.info-strip {
    background: #f5fbff;
    border-left: 4px solid var(--action);
    padding: 13px 15px;
    margin: 14px 0
}

.flash {
    padding: 12px 14px;
    border: 1px solid;
    margin-bottom: 14px
}

.flash.success {
    background: #effbf2;
    border-color: #9ed4aa
}

.flash.error {
    background: #fff1f0;
    border-color: #e7a29b
}

.flash.info {
    background: #eff8ff;
    border-color: #a9cde4
}

.badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    background: #edf1f5;
    color: #45515d
}

.badge.ok {
    background: #ddf5e2;
    color: #216c35
}

.badge.warn {
    background: #fff2d7;
    color: #8b5b00
}

.badge.danger {
    background: #ffe4e1;
    color: #a61b12
}

.status-pill {
    display: inline-block;
    border-radius: 999px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 700
}

.status-pill.draft {
    background: #fff0ce;
    color: #8a5b00
}

.table-wrap {
    overflow: auto;
    border: 1px solid var(--border)
}

table {
    width: 100%;
    border-collapse: collapse;
    background: #fff
}

th,td {
    padding: 12px 13px;
    border-bottom: 1px solid var(--border);
    vertical-align: top;
    text-align: left
}

th {
    font-size: 13px;
    background: #f7f9fb;
    color: #263341
}

tbody tr:last-child td {
    border-bottom: 0
}

.empty-row {
    border: 1px solid var(--border);
    padding: 18px;
    background: #fff;
    color: var(--muted)
}

.tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0 0 20px
}

.tabs a {
    padding: 8px 12px;
    border: 1px solid var(--border);
    background: #fff
}

.tabs a.active {
    background: var(--action);
    border-color: var(--action);
    color: #fff
}

.kvs {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 8px 14px
}

.kvs dt {
    font-weight: 700;
    color: #53606d
}

.kvs dd {
    margin: 0
}

.timeline {
    border-left: 3px solid var(--border);
    padding-left: 16px
}

.timeline-item {
    margin-bottom: 16px;
    position: relative
}

.timeline-item:before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--action);
    left: -22px;
    top: 6px
}

.review-box {
    border: 1px solid var(--border);
    padding: 14px;
    margin: 10px 0;
    background: #fbfcfd
}

.article {
    max-width: 1000px;
    margin: auto
}

.article h1 {
    font-size: 36px
}

.authors {
    font-size: 17px
}

.footer {
    border-top: 1px solid #cdd5dc;
    background: #fff;
    padding: 28px 22px 34px;
    color: #52606c;
    font-size: 12px;
    margin: 0 auto;
    max-width: 1320px;
}

.footer-inner {
    max-width: 1320px;
    margin: auto;
    display: flex;
    gap: 26px;
    align-items: flex-start
}

.footer-inner>img {
    max-width: 72px;
    max-height: 72px;
    object-fit: contain
}

.footer-links {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    border-bottom: 1px solid #aeb7bf;
    padding-bottom: 15px;
    margin-bottom: 14px;
    min-width: min(900px,80vw)
}

/* Landing and dashboard */
.submission-landing {
    display: grid;
    grid-template-columns: minmax(0,2.2fr) minmax(300px,1fr);
    gap: 18px
}

.submission-landing .portal-intro {
    grid-column: 1
}

.portal-intro {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 26px
}

.portal-icon,.draft-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #e5f3fb;
    color: var(--action);
    display: grid;
    place-items: center;
    font-size: 30px;
    flex: 0 0 auto
}

.eyebrow {
    font-size: 14px;
    letter-spacing: .08em;
    font-weight: 800;
    color: #406b86
}

.portal-intro h1 {
    font-size: 34px;
    margin: 3px 0 8px
}

.portal-intro p {
    max-width: 800px
}

.help-grid {
    grid-column: 1/-1
}

.help-grid .card {
    min-height: 210px
}

.side-stack {
    display: grid;
    gap: 18px
}

.landing-callout {
    border: 1px solid #ead7bd;
    background: #fff9ef;
    padding: 20px
}

.landing-callout h3 {
    font-size: 20px
}

.dashboard-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 22px
}

.dashboard-head h1 {
    margin: 0 0 5px
}

.draft-hero {
    display: grid;
    grid-template-columns: 76px minmax(0,1fr) auto;
    gap: 22px;
    align-items: center;
    border: 1px solid #c7dfee;
    background: linear-gradient(90deg,#eff9ff,#fbfdff);
    padding: 20px 24px;
    margin-bottom: 24px
}

.draft-hero h2 {
    margin: 0 0 5px
}

.draft-actions {
    display: grid;
    gap: 12px;
    align-items: start
}

.draft-progress-line {
    display: flex;
    gap: 8px;
    margin-top: 14px
}

.draft-progress-line span {
    width: 64px;
    height: 4px;
    background: #cbd5df
}

.draft-progress-line span.done {
    background: var(--action)
}

.dashboard-section {
    margin: 28px 0
}

.dashboard-section h2 {
    margin-bottom: 10px
}

.mini-progress {
    width: 140px;
    height: 7px;
    background: #dbe1e6;
    overflow: hidden;
    margin-bottom: 5px;
    border-radius: 999px
}

.mini-progress span {
    display: block;
    height: 100%;
    background: var(--action)
}

/* Submission wizard */
.autosave-bar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    background: #eaf6fd;
    border: 1px solid #c8e4f3;
    padding: 12px 16px;
    margin: -4px 0 22px;
    color: #335b73
}

.save-state {
    color: #2d7b3e
}

.submission-layout {
    display: grid;
    grid-template-columns: minmax(0,1fr) 330px;
    gap: 48px;
    align-items: start
}

.submission-main {
    min-width: 0
}

.submission-main>h1 {
    font-size: 29px;
    margin: 0 0 24px
}

.section-intro {
    margin-top: -12px;
    color: var(--muted)
}

.submission-sidebar {
    position: sticky;
    top: 16px
}

.sidebar-title {
    font-weight: 800;
    margin-bottom: 12px
}

.step-list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-bottom: 1px solid #aab4bd
}

.step-item {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 10px;
    align-items: center;
    min-height: 54px;
    position: relative;
    color: #344054
}

.step-item:not(:last-child):before {
    content: "";
    position: absolute;
    left: 16px;
    top: 39px;
    height: 30px;
    border-left: 2px dotted #aeb8c1
}

.step-dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #aeb8c1;
    background: #fff;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 13px
}

.step-item.complete .step-dot {
    background: #747a80;
    border-color: #747a80;
    color: #fff
}

.step-item.active {
    font-weight: 800;
    color: #111827
}

.step-item.active .step-dot {
    background: var(--action);
    border-color: var(--action);
    color: #fff
}

.sidebar-help {
    padding-top: 22px
}

.sidebar-help h3 {
    font-size: 18px;
    margin: 0 0 12px
}

.sidebar-help p {
    font-size: 13px;
    color: #3f4c59
}

.choice-list {
    display: grid;
    gap: 10px;
    max-width: 760px;
    margin-bottom: 26px
}

.radio-card {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 13px 14px;
    border: 1px solid var(--border);
    cursor: pointer;
    font-weight: 500
}

.radio-card:hover {
    border-color: var(--action);
    background: #f8fcff
}

.radio-card input {
    width: auto;
    margin-top: 4px
}

.radio-card small {
    display: block;
    font-weight: 400;
    color: var(--muted);
    margin-top: 3px
}

.wizard-nav {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--border);
    margin-top: 28px;
    padding-top: 17px
}

.upload-row {
    display: grid;
    grid-template-columns: minmax(245px,.8fr) minmax(0,1.25fr);
    gap: 24px;
    border: 1px solid var(--border);
    padding: 17px;
    margin-bottom: 12px;
    background: #fff
}

.upload-row-stacked {
    grid-template-columns: minmax(245px,.8fr) minmax(0,1.25fr)
}

.upload-row h3 {
    margin: 0
}

.upload-row p {
    font-size: 13px;
    color: var(--muted)
}

.row-number {
    display: inline-grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #e8edf1;
    margin-right: 8px
}

.required-pill,.optional-pill {
    font-size: 11px;
    border-radius: 999px;
    padding: 4px 8px;
    margin-left: 5px
}

.required-pill {
    background: #fde5e2;
    color: #a42a20
}

.optional-pill {
    background: #eef1f4;
    color: #5c6773
}

.requirements {
    background: #f5f7f9;
    padding: 8px 10px;
    font-size: 12px;
    color: #4d5a66;
    margin-bottom: 8px
}

.upload-control input[type=file] {
    border: 1px dashed #78bce2;
    background: #f8fcff
}

.uploaded-file {
    display: grid;
    grid-template-columns: 22px minmax(0,1fr) auto auto auto;
    gap: 10px;
    align-items: center;
    border: 1px solid var(--border);
    padding: 8px 10px;
    margin: 7px 0;
    background: #fff;
    font-size: 13px
}

.file-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.file-size {
    color: var(--muted)
}

.file-with-kind {
    margin: 8px 0
}

.additional-file-row {
    display: grid;
    grid-template-columns: 220px minmax(0,1fr) auto;
    gap: 8px;
    align-items: center;
    margin: 8px 0
}

.additional-file-row input[type=file] {
    margin: 0
}

.rich-editor {
    border: 1px solid #aeb9c4;
    background: #fff
}

.rich-toolbar {
    display: flex;
    gap: 2px;
    flex-wrap: wrap;
    padding: 7px;
    border-bottom: 1px solid var(--border);
    background: #f7f9fb
}

.rich-toolbar button {
    border: 0;
    background: transparent;
    padding: 7px 9px;
    cursor: pointer
}

.rich-toolbar button:hover {
    background: #e8eef3
}

.rich-area {
    min-height: 190px;
    padding: 12px;
    outline: 0
}

.keyword-input {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    border: 1px solid #aeb9c4;
    padding: 7px;
    min-height: 48px
}

.keyword-entry {
    flex: 1;
    min-width: 220px;
    border: 0!important;
    padding: 4px!important;
    outline: 0!important
}

.keyword-chips {
    display: contents
}

.keyword-chip {
    display: inline-flex;
    gap: 5px;
    align-items: center;
    border-radius: 999px;
    background: #e8f5fd;
    border: 1px solid #b9ddf1;
    color: #155b84;
    padding: 4px 9px;
    font-size: 13px;
    margin: 2px
}

.keyword-chip button {
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 16px;
    cursor: pointer;
    padding: 0
}

.author-card,.repeater-row,.form-section {
    border-top: 1px solid var(--border);
    padding: 18px 0;
    margin: 0
}

.author-card:first-child,.form-section:first-of-type {
    border-top: 0
}

.author-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.author-card-head h3 {
    margin: 0 0 12px
}

.corresponding-check {
    font-weight: 600
}

.conditional-block[hidden] {
    display: none!important
}

.declaration-line {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    margin-top: 10px;
    font-weight: 500;
    background: #f7f9fb;
    border: 1px solid var(--border);
    padding: 12px
}

.review-readiness {
    max-width: 760px
}

.review-check-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    border-top: 1px solid #c9d1d8;
    padding: 13px 0
}

.review-check-row strong {
    display: block
}

.review-check-row small {
    display: block;
    color: #c63126;
    margin-top: 4px
}

.check-state {
    border: 1px solid;
    padding: 4px 8px;
    font-size: 12px
}

.check-state.done {
    border-color: #5cb36e;
    background: #edf8ef;
    color: #216f32
}
.check-state.done:hover{text-decoration: none !important;}

.check-state.incomplete {
    border-color: #dc7b73;
    background: #fff0ef;
    color: #9c2118
}

.final-declarations {
    max-width: 760px
}

.declaration-block {
    margin: 28px 0
}

.declaration-block h2 {
    font-size: 21px
}

.final-submit-form {
    max-width: 760px;
    display: grid;
    gap: 12px;
    margin-top: 20px
}

.final-submit-form label {
    font-weight: 500
}

.policy-copy {
    white-space: pre-line
}

.orcid-results {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    max-height: 380px;
    overflow: auto
}

.orcid-result {
    text-align: left;
    border: 1px solid var(--border);
    background: #fff;
    padding: 11px;
    cursor: pointer;
    display: grid;
    gap: 3px
}

.orcid-result:hover {
    border-color: var(--action);
    background: #f7fcff
}

.orcid-result span {
    color: var(--action)
}

.orcid-result small {
    color: var(--muted)
}

.modal {
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,.5);
    display: grid;
    place-items: center;
    padding: 20px;
    z-index: 100
}

.modal[hidden] {
    display: none
}

.modal-card {
    background: #fff;
    width: min(720px,100%);
    max-height: 85vh;
    overflow: auto;
    padding: 24px;
    position: relative;
    box-shadow: 0 20px 60px rgba(0,0,0,.25)
}

.modal-close {
    position: absolute;
    right: 13px;
    top: 10px;
    border: 0;
    background: none;
    font-size: 28px;
    cursor: pointer;
    color: #56616c
}

/* Admin and settings */
.admin-hero {
    background: linear-gradient(90deg,#eaf6fd,#f9fcff);
    border: 1px solid #cbe2f0;
    padding: 22px;
    margin-bottom: 22px
}

.admin-hero h1 {
    margin: 0 0 6px
}

.admin-nav {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 14px
}

.admin-card-title {
    display: flex;
    gap: 12px;
    align-items: center
}

.admin-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e4f3fb;
    color: var(--action);
    font-weight: 800
}

.settings-preview {
    max-width: 100%;
    max-height: 100px;
    object-fit: contain
}

.branding-preview {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px
}

.branding-preview img {
    display: block;
    max-width: 100%;
    max-height: 105px;
    object-fit: contain;
    margin-top: 7px
}

.branding-preview .cover-preview {
    max-height: 160px
}

.template-setting {
    padding: 10px 0;
    border-bottom: 1px solid var(--border)
}

code {
    background: #f3f5f7;
    padding: 2px 5px;
    word-break: break-word
}

.login-card {
    max-width: 520px;
    margin: 38px auto
}

.login-card h1 {
    margin-top: 0
}

@media(max-width: 1050px) {
    .submission-layout {
        grid-template-columns:1fr
    }

    .submission-sidebar {
        position: static;
        order: -1
    }

    .step-list {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 8px;
        border: 0
    }

    .step-item {
        grid-template-columns: 28px 1fr;
        min-height: auto;
        border: 1px solid var(--border);
        padding: 8px
    }

    .step-item:not(:last-child):before {
        display: none
    }

    .sidebar-help {
        display: none
    }

    .submission-landing {
        grid-template-columns: 1fr
    }

    .submission-landing .portal-intro {
        grid-column: auto
    }

    .split {
        grid-template-columns: 1fr
    }

    .toggle-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width: 900px) {
    .col-3,.col-4,.col-6,.col-8,.col-9 {
        grid-column:span 12
    }

    .form-grid {
        grid-template-columns: 1fr
    }

    .full {
        grid-column: auto
    }

    .kvs {
        grid-template-columns: 1fr
    }

    .help-grid .card {
        min-height: auto
    }

    .draft-hero {
        grid-template-columns: 64px 1fr
    }

    .draft-actions {
        grid-column: 1/-1;
        display: flex
    }

    .submission-landing {
        display: block
    }

    .side-stack {
        margin-top: 18px
    }
}

@media(max-width: 700px) {
    body {
        font-size:14px
    }

    .topbar-inner {
        padding: 10px 12px;
        min-height: 64px;
        align-items: flex-start
    }

    .portal-brand {
        font-size: 15px;
        gap: 8px
    }

    .publisher-logo {
        max-width: 52px;
        max-height: 44px
    }

    .site-logo,.brand-mark {
        width: 34px;
        height: 34px
    }

    .nav {
        gap: 10px;
        justify-content: flex-end
    }

    .nav .hide-sm,.user-role {
        display: none
    }

    .journal-band-inner {
        padding: 15px 12px;
        min-height: 102px;
        gap: 14px
    }

    .journal-band-inner:after {
        left: 12px;
        right: 12px
    }

    .journal-cover {
        width: 58px;
        height: 80px;
        margin-bottom: -10px
    }

    .journal-band h1 {
        font-size: 23px
    }

    .journal-band p {
        font-size: 13px
    }

    .journal-guide {
        display: none
    }

    .container {
        padding: 22px 12px 40px
    }

    .portal-intro {
        padding: 18px;
        gap: 13px
    }

    .portal-icon {
        width: 48px;
        height: 48px;
        font-size: 22px
    }

    .portal-intro h1 {
        font-size: 27px
    }

    .dashboard-head {
        display: block
    }

    .dashboard-head .btn {
        margin-top: 10px
    }

    .draft-hero {
        grid-template-columns: 48px 1fr;
        padding: 15px
    }

    .draft-icon {
        width: 44px;
        height: 44px;
        font-size: 20px
    }

    .draft-progress-line span {
        width: 35px
    }

    .step-list {
        grid-template-columns: 1fr 1fr
    }

    .upload-row,.upload-row-stacked {
        grid-template-columns: 1fr
    }

    .additional-file-row {
        grid-template-columns: 1fr
    }

    .additional-file-row .btn {
        justify-self: start
    }

    .uploaded-file {
        grid-template-columns: 22px 1fr
    }

    .uploaded-file .file-size,.uploaded-file a,.uploaded-file button {
        grid-column: 2
    }

    .autosave-bar {
        flex-direction: column;
        align-items: flex-start
    }

    .input-action {
        grid-template-columns: 1fr
    }

    .footer-inner {
        flex-direction: column
    }

    .footer-links {
        min-width: 0
    }

    .branding-preview {
        grid-template-columns: 1fr
    }

    .toggle-grid {
        grid-template-columns: 1fr
    }

    .submission-main>h1 {
        font-size: 25px
    }

    .review-check-row {
        align-items: flex-start
    }

    .journal-band+.container {
        padding-top: 22px
    }
}

/* v1.2 portal polish */
.landing-actions {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 14px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--border)
}

.landing-action {
    min-height: 112px;
    border: 1px solid #e2e8ee;
    background: #f4f9fc;
    color: var(--action);
    padding: 16px;
    display: grid;
    grid-template-columns: 38px 1fr 14px;
    gap: 10px;
    align-items: start;
    text-decoration: none
}

.landing-action:hover {
    text-decoration: none;
    border-color: #9fcfe9;
    background: #edf8fe
}

.landing-action.primary {
    background: var(--action);
    color: #fff;
    border-color: var(--action)
}

.landing-action.primary:hover {
    background: var(--action-dark);
    border-color: var(--action-dark)
}

.landing-action-icon {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(8,119,180,.10);
    font-weight: 800
}

.landing-action.primary .landing-action-icon {
    background: rgba(255,255,255,.16)
}

.landing-action strong {
    display: block;
    font-size: 15px;
    margin: 3px 0 7px
}

.landing-action small {
    display: block;
    color: #607281;
    line-height: 1.35;
    font-weight: 400
}

.landing-action.primary small {
    color: rgba(255,255,255,.9)
}

.landing-action>b {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.2
}

.landing-callout,.progress-callout {
    display: flex;
    gap: 16px;
    align-items: flex-start
}

.progress-callout {
    padding: 20px
}

.callout-symbol,.help-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    background: #fff0cf;
    color: #d25d00;
    font-weight: 800;
    font-size: 24px
}

.ok-symbol {
    background: #e4f5e7;
    color: #218438
}

.danger-icon {
    background: #ffe6e4;
    color: #b42318
}

.landing-callout h3,.progress-callout h3 {
    margin: 2px 0 8px
}

.landing-callout p,.progress-callout p {
    margin: 0;
    color: #4c5b69;
    font-size: 14px
}

.help-card {
    position: relative;
    padding-top: 24px
}

.help-card .help-icon {
    width: 42px;
    height: 42px;
    font-size: 18px;
    background: #e6f4fc;
    color: var(--action);
    margin-bottom: 0px;
}

.help-card ul {
    padding-left: 20px;
    margin-bottom: 0
}

.help-card li {
    margin: 6px 0
}

.help-card p {
    margin: 10px 0
}

.settings-hero-cover {
    width: 48px;
    height: 66px;
    object-fit: cover;
    border: 1px solid #d6dde4;
    background: #fff
}

.settings-hero-logo {
    width: 56px;
    height: 56px;
    object-fit: contain;
    background: #fff;
    border: 1px solid #d6dde4;
    padding: 4px
}

.favicon-preview {
    max-width: 40px!important;
    max-height: 40px!important
}

.asset-upload-row {
    border-top: 1px solid var(--border);
    padding-top: 12px;
    margin-top: 12px
}

.asset-upload-row .field {
    margin-bottom: 8px
}

.reviewer-suggestions {
    border: 1px solid #cbe2f0;
    background: #f6fbfe;
    padding: 12px;
    margin-bottom: 14px
}

.reviewer-suggestion {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 9px 0;
    border-top: 1px solid #d9e9f3
}

.reviewer-suggestion:first-of-type {
    margin-top: 8px
}

.reviewer-suggestion small {
    display: block;
    color: var(--muted);
    margin-top: 2px
}

.dashboard-shell-head {
    background: linear-gradient(90deg,#f0f8fd,#fff);
    border: 1px solid #cbe2f0;
    padding: 20px 22px;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center
}

.dashboard-shell-head h1 {
    margin: 4px 0 4px;
    text-transform: capitalize;
}

.dashboard-shell-head .actions {
    justify-content: flex-end
}

@media(max-width: 1050px) {
    .landing-actions {
        grid-template-columns:1fr
    }

    .landing-action {
        min-height: 84px
    }

    .submission-landing .side-stack {
        grid-column: auto
    }
}

@media(max-width: 700px) {
    .landing-actions {
        grid-template-columns:1fr
    }

    .landing-action {
        grid-template-columns: 34px 1fr 12px;
        padding: 13px
    }

    .submission-landing .side-stack {
        margin-top: 14px
    }

    .help-card {
        padding: 17px
    }

    .dashboard-shell-head {
        display: block
    }

    .dashboard-shell-head .actions {
        justify-content: flex-start;
        margin-top: 12px
    }
}

.policy-statement {
    background: #f7f9fb;
    border: 1px solid var(--border);
    padding: 13px 14px;
    color: #344054;
    margin: 10px 0
}

/* v1.2 file picker + reviewer search */
.file-picker {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px
}

.file-picker.compact {
    margin: 0;
    min-width: 280px
}

.file-picker-input {
    position: absolute!important;
    width: 1px!important;
    height: 1px!important;
    padding: 0!important;
    margin: -1px!important;
    overflow: hidden!important;
    clip: rect(0,0,0,0)!important;
    white-space: nowrap!important;
    border: 0!important
}

.file-picker-name {
    font-size: .9rem;
    color: var(--muted);
    overflow-wrap: anywhere
}

.additional-file-row {
    align-items: center
}

.additional-file-row>select {
    min-width: 190px
}

.reviewer-search-note {
    font-size: .88rem;
    color: var(--muted)
}

@media(max-width: 720px) {
    .file-picker.compact {
        min-width:0;
        width: 100%
    }

    .additional-file-row>select {
        width: 100%
    }

    .file-picker {
        align-items: flex-start
    }

    .file-picker-name {
        width: 100%
    }
}

/* v1.2 file picker + reviewer search */
.file-picker {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px
}

.file-picker.compact {
    margin: 0;
    min-width: 280px
}

.file-picker-input {
    position: absolute!important;
    width: 1px!important;
    height: 1px!important;
    padding: 0!important;
    margin: -1px!important;
    overflow: hidden!important;
    clip: rect(0,0,0,0)!important;
    white-space: nowrap!important;
    border: 0!important
}

.file-picker-name {
    font-size: .9rem;
    color: var(--muted);
    overflow-wrap: anywhere
}

.additional-file-row {
    align-items: center
}

.additional-file-row>select {
    min-width: 190px
}

@media(max-width: 720px) {
    .file-picker.compact {
        min-width:0;
        width: 100%
    }

    .additional-file-row>select {
        width: 100%
    }

    .file-picker {
        align-items: flex-start
    }

    .file-picker-name {
        width: 100%
    }
}

/* v1.3.0 editor, final declarations and platform-admin navigation */
.rich-area:empty:before {
    content: attr(data-placeholder);
    color: #8a96a3;
    pointer-events: none
}

.rich-toolbar {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    border: 1px solid #aeb9c4;
    border-bottom: 0;
    background: #f7f9fb;
    padding: 6px
}

.rich-toolbar button {
    border: 0;
    background: transparent;
    padding: 6px 8px;
    min-width: 32px;
    cursor: pointer;
    color: #24303d
}

.rich-toolbar button:hover {
    background: #e7eef4
}

.rich-area {
    min-height: 145px;
    border: 1px solid #aeb9c4;
    padding: 11px;
    background: #fff;
    overflow: auto
}

.rich-area:focus {
    outline: 2px solid rgba(8,119,180,.18);
    border-color: var(--action)
}

.rich-area a,.rich-output a,.policy-copy a {
    color: var(--action);
    text-decoration: underline
}

.rich-output {
    line-height: 1.55
}

.rich-output p:first-child {
    margin-top: 0
}

.rich-output p:last-child {
    margin-bottom: 0
}

.declaration-block {
    border-top: 1px solid #d2d8de;
    padding-top: 20px
}

.declaration-block:first-child {
    border-top: 0;
    padding-top: 0
}

.declaration-confirm {
    display: flex!important;
    gap: 9px;
    align-items: flex-start;
    margin-top: 14px;
    padding: 12px 14px;
    background: #f7f9fb;
    border: 1px solid #d8e0e7;
    font-weight: 600!important
}

.declaration-confirm input {
    margin-top: 3px;
    flex: 0 0 auto
}

.final-submit-form {
    display: block
}

.final-submit-form>.declaration-block {
    margin: 22px 0
}

.final-submit-form>.declaration-block h2 {
    margin-top: 0
}

.final-submit-form .btn {
    margin-top: 8px
}

.platform-admin-shell {
    display: grid;
    grid-template-columns: 250px minmax(0,1fr);
    gap: 22px;
    align-items: start
}

.platform-admin-menu {
    position: sticky;
    top: 18px;
    border: 1px solid var(--border);
    background: #fff
}

.platform-admin-menu-head {
    padding: 17px 18px;
    border-bottom: 1px solid var(--border);
    background: #f6f9fb
}

.platform-admin-menu-head strong {
    display: block;
    font-size: 16px
}

.platform-admin-menu-head small {
    display: block;
    color: var(--muted);
    margin-top: 3px
}

.platform-admin-menu nav {
    display: grid;
    padding: 8px
}

.platform-admin-menu a {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 11px;
    color: #23313e;
    border-left: 3px solid transparent
}

.platform-admin-menu a:hover {
    background: #f4f8fb;
    text-decoration: none
}

.platform-admin-menu a.active {
    background: #edf7fd;
    color: var(--action);
    border-left-color: var(--action);
    font-weight: 700
}

.platform-admin-content {
    min-width: 0
}

.admin-mobile-toggle {
    display: none;
    width: 100%;
    justify-content: space-between;
    margin: 0 0 12px
}

.admin-stat-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 14px;
    margin-bottom: 20px
}

.admin-stat-card {
    border: 1px solid var(--border);
    background: #fff;
    padding: 18px
}

.admin-stat-card strong {
    display: block;
    font-size: 28px;
    color: var(--action)
}

.journal-admin-cards {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 15px
}

.journal-admin-card {
    border: 1px solid var(--border);
    background: #fff;
    padding: 17px;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr);
    gap: 14px
}

.journal-admin-card img {
    width: 50px;
    height: 64px;
    object-fit: contain;
    border: 1px solid #e0e5e9;
    background: #fff
}

.journal-admin-card .journal-placeholder {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #eaf5fb;
    color: var(--action);
    display: grid;
    place-items: center;
    font-weight: 800
}

.journal-admin-card h3 {
    margin: 0 0 4px
}

.journal-admin-card .actions {
    grid-column: 1/-1;
    border-top: 1px solid var(--border);
    padding-top: 11px
}

.settings-section {
    scroll-margin-top: 18px
}

.smtp-status {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin: 8px 0 14px
}

.smtp-password-note {
    font-size: 12px;
    color: var(--muted)
}

.user-greeting {
    font-size: 13px;
    color: #344054;
    white-space: nowrap
}

.user-greeting b {
    font-weight: 600;
    color: var(--muted)
}

@media(max-width: 980px) {
    .platform-admin-shell {
        grid-template-columns:1fr
    }

    .admin-mobile-toggle {
        display: flex
    }

    .platform-admin-menu {
        display: none;
        position: static
    }

    .platform-admin-shell.admin-menu-open .platform-admin-menu {
        display: block
    }

    .platform-admin-menu nav {
        grid-template-columns: 1fr 1fr
    }

    .admin-stat-grid {
        grid-template-columns: 1fr 1fr
    }

    .journal-admin-cards {
        grid-template-columns: 1fr
    }
}

@media(max-width: 700px) {
    .platform-admin-menu nav {
        grid-template-columns:1fr
    }

    .admin-stat-grid {
        grid-template-columns: 1fr
    }

    .user-greeting {
        display: none
    }

    .declaration-confirm {
        padding: 10px
    }

    .rich-toolbar button {
        font-size: 12px;
        padding: 5px 6px
    }
}

/* v1.3 admin layout compatibility */
.admin-menu-toggle {
    display: none;
    border: 1px solid var(--border);
    background: #fff;
    color: var(--action);
    padding: 6px 9px;
    cursor: pointer;
    font-size: 18px;
    line-height: 1
}

.platform-admin-menu-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px
}

.journal-admin-card .admin-journal-main {
    min-width: 0
}

.journal-admin-card .admin-journal-main>.actions {
    margin-top: 10px
}

.branding-admin-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px
}

.inline-test-email {
    display: flex;
    gap: 12px;
    align-items: end;
    flex-wrap: wrap;
    margin-top: 20px;
}

.inline-test-email .field {
    flex: 1 1 300px;
    margin: 0
}

.section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 15px
}

.section-heading h2 {
    margin: 0
}

.section-heading p {
    margin: 5px 0 0
}

.admin-journal-cover.placeholder {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #eaf5fb;
    color: var(--action);
    display: grid;
    place-items: center;
    font-weight: 800
}

.journal-placeholder {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #eaf5fb;
    color: var(--action);
    display: grid;
    place-items: center;
    font-weight: 800
}

@media(max-width: 980px) {
    .admin-menu-toggle {
        display:inline-grid;
        place-items: center
    }

    .branding-admin-grid {
        grid-template-columns: 1fr
    }

    .platform-admin-menu-head {
        cursor: pointer
    }
}

@media(max-width: 700px) {
    .section-heading {
        display:block
    }

    .section-heading .btn {
        margin-top: 12px
    }

    .inline-test-email {
        display: block
    }

    .inline-test-email .btn {
        margin-top: 10px
    }
}

@media(max-width: 980px) {
    .platform-admin-menu {
        display:block!important;
        position: static;
        top: auto
    }

    .platform-admin-menu nav {
        display: none
    }

    .platform-admin-shell.admin-menu-open .platform-admin-menu nav {
        display: grid
    }
}

/* v1.4.0 account, public home, auth and journal settings */
.flash-slot {
    margin: -8px 0 18px
}

.admin-user-avatar {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--border)
}

.account-settings-shell {
    display: grid;
    grid-template-columns: 220px minmax(0,1fr);
    gap: 20px;
    align-items: start
}

.account-nav {
    position: sticky;
    top: 16px;
    display: grid;
    border: 1px solid var(--border);
    background: #fff
}

.account-nav a {
    padding: 11px 13px;
    border-bottom: 1px solid var(--border);
    color: #344054
}

.account-nav a:last-child {
    border-bottom: 0
}

.account-nav a:hover {
    background: #f4f8fb;
    text-decoration: none;
    color: var(--action)
}

.account-settings-main {
    display: grid;
    gap: 16px
}

.profile-photo-preview {
    width: 108px;
    height: 108px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid var(--border);
    margin: 4px 0 14px
}

.profile-subsection {
    margin-top: 18px;
    border-top: 1px solid var(--border);
    padding-top: 16px
}

.input-action {
    display: flex;
    gap: 8px;
    align-items: center
}

.input-action input {
    flex: 1
}

.orcid-inline-results {
    border: 1px solid #cdd8e1;
    background: #fff;
    max-height: 240px;
    overflow: auto;
    margin-top: 6px
}

.orcid-inline-results button {
    display: block;
    width: 100%;
    text-align: left;
    background: #fff;
    border: 0;
    border-bottom: 1px solid #e5eaee;
    padding: 9px;
    cursor: pointer
}

.orcid-inline-results button:hover {
    background: #f3f8fb
}

.orcid-inline-results strong,.orcid-inline-results span,.orcid-inline-results small {
    display: block
}

.password-meter {
    height: 6px;
    background: #e8edf1;
    border-radius: 99px;
    overflow: hidden;
    margin-top: 7px
}

.password-meter span {
    display: block;
    height: 100%;
    width: 0;
    background: #b42318;
    transition: .2s
}

.password-meter span.fair {
    background: #d97706
}

.password-meter span.good {
    background: #3b82f6
}

.password-meter span.strong {
    background: #218438
}

.role-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 9px 0;
    border-bottom: 1px solid var(--border)
}

.auth-shell {
    max-width: 980px;
    margin: 26px auto;
    display: grid;
    grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr);
    gap: 18px;
    align-items: start
}

.auth-shell.wide {
    max-width: 1080px
}

.auth-side {
    background: #f7fafc
}

.auth-side h2 {
    margin-top: 0
}

.auth-form-actions {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap
}

.login-card {
    max-width: none!important;
    margin: 0!important
}

.platform-home-hero {
    margin: -26px calc(50% - 50vw) 34px;
    padding: 54px max(24px,calc((100vw - 1271px)/2));
    background: linear-gradient(115deg,var(--brand),color-mix(in srgb,var(--brand) 83%,#a63f00));
    color: #fff;
    display: grid;
    grid-template-columns: minmax(0,1.5fr) minmax(240px,.5fr);
    gap: 36px;
    align-items: center
}

.platform-home-hero h1 {
    font-size: 42px;
    line-height: 1.08;
    margin: 9px 0 13px;
    color: #fff;
}

.platform-home-hero p {
    font-size: 18px;
    max-width: 760px
}

.platform-home-hero .eyebrow {
    color: #fff
}

.platform-home-hero .btn.secondary {
    background: #fff;
    color: var(--action);
    border-color: #fff
}

.platform-home-hero-card {
    background: rgb(255 255 255 / 83%);
    border: 1px solid rgba(255,255,255,.35);
    padding: 48px 24px;
    backdrop-filter: blur(4px);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.platform-home-hero-card strong {
    display: block;
    font-size: 46px;
    line-height: 1;
    color: #fff;
    background: var(--brand);
    padding: 8px 20px;
    border-radius: 50%;
}

.platform-home-hero-card span {
    display: block;
    font-size: 21px;
    font-weight: 700;
    margin: 7px 0;
    color: var(--brand);
    text-transform: capitalize;
}

.platform-home-hero-card small {
    line-height: 1.45;
    color: var(--brand);
}

.platform-home-section {
    margin: 34px 0
}

.public-journal-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
}

.public-journal-card {
    border: 1px solid var(--border);
    background: #fff;
    display: grid;
    grid-template-columns: 206px minmax(0,1fr);
    min-height: 190px;
    box-shadow: 0 3px 14px rgba(16,24,40,.04)
}

.public-journal-card>img,.public-default-cover {
    width: 205px;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
    background: linear-gradient(160deg,#fff7e9,#f0dfc0);
    border-right: 1px solid var(--border)
}

.public-default-cover {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: #7b410d;
    font-weight: 800
}

.public-default-cover span {
    font-size: 22px;
    letter-spacing: 1px
}

.public-default-cover small {
    font-weight: 600
}

.public-default-cover.logo {
    padding: 12px;
    background: #fff
}

.public-default-cover.logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.public-journal-copy {
    padding: 18px
}

.public-journal-copy h3 {
    margin: 0 0 8px;
    font-size: 18px
}

.public-journal-copy p {
    font-size: 13px;
    color: var(--muted);
    min-height: 42px
}

.journal-url {
    font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
    font-size: 12px;
    color: #667085;
    margin: 9px 0
}

.platform-feature-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px
}

.platform-feature-card {
    border: 1px solid var(--border);
    background: #fff;
    padding: 20px
}

.feature-dot {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #e5f6e8;
    color: #218438;
    font-weight: 800
}

.platform-feature-card h3 {
    font-size: 17px
}

.platform-feature-card p {
    color: var(--muted);
    font-size: 14px
}

.about-grid {
    display: grid;
    grid-template-columns: 1.4fr .6fr;
    gap: 18px
}

.faq-stack {
    display: grid;
    gap: 10px
}

.faq-item {
    border: 1px solid var(--border);
    background: #fff;
    padding: 0 16px
}

.faq-item summary {
    cursor: pointer;
    font-weight: 700;
    padding: 15px 0
}

.faq-item p {
    color: var(--muted);
    margin-top: 0
}

.admin-default-cover {
    width: 100%;
    height: 120px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg,#fff7e9,#f0dfc0);
    border: 1px solid var(--border);
    color: #7b410d;
    font-weight: 800;
    letter-spacing: 1px
}

.journal-settings-shell .platform-admin-menu {
    top: 14px
}

.settings-detail {
    border: 1px solid var(--border);
    padding: 0 14px;
    margin: 10px 0
}

.settings-detail summary {
    padding: 12px 0;
    cursor: pointer
}

.table-tools {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 10px
}

.table-tools input {
    max-width: 360px
}

.user-cell {
    display: flex;
    gap: 9px;
    align-items: center
}

.user-table-photo,.user-table-initials {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    flex: 0 0 auto
}

.user-table-photo {
    object-fit: cover
}

.user-table-initials {
    display: grid;
    place-items: center;
    background: #e8f4fb;
    color: var(--action);
    font-weight: 800
}

.role-assign-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center
}

.role-assign-row select {
    width: auto;
    min-width: 180px
}

.declaration-line {
    display: flex!important;
    gap: 8px;
    align-items: flex-start
}

.inline-form {
    display: inline-block;
    margin-left: 10px
}

@media(max-width: 1050px) {
    .public-journal-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .platform-feature-grid {
        grid-template-columns: repeat(2,1fr)
    }
}

@media(max-width: 820px) {
    .account-settings-shell {
        grid-template-columns:1fr
    }

    .account-nav {
        position: static;
        grid-template-columns: repeat(3,1fr)
    }

    .auth-shell {
        grid-template-columns: 1fr
    }

    .platform-home-hero {
        grid-template-columns: 1fr;
        padding-top: 38px;
        padding-bottom: 38px
    }

    .about-grid {
        grid-template-columns: 1fr
    }
}

@media(max-width: 650px) {
    .public-journal-grid,.platform-feature-grid {
        grid-template-columns:1fr
    }

    .public-journal-card {
        grid-template-columns: 86px 1fr
    }

    .public-journal-card>img,.public-default-cover {
        width: 86px;
        min-height: 176px
    }

    .platform-home-hero h1 {
        font-size: 32px
    }

    .account-nav {
        grid-template-columns: 1fr 1fr
    }

    .input-action {
        display: block
    }

    .input-action .btn {
        margin-top: 8px
    }

    .role-assign-row {
        display: grid
    }

    .role-assign-row select {
        width: 100%
    }
}

/* v1.5.0 publisher hierarchy, searchable merge and TOTP QR */
.totp-setup-grid {
    display: grid;
    grid-template-columns: 250px minmax(0,1fr);
    gap: 22px;
    align-items: start;
    margin: 16px 0
}

.totp-qr {
    width: 240px;
    min-height: 240px;
    border: 1px solid var(--border);
    background: #fff;
    display: grid;
    place-items: center;
    padding: 10px
}

.totp-qr svg {
    display: block;
    width: 220px;
    height: 220px;
    max-width: 100%
}

.totp-secret {
    display: inline-block;
    word-break: break-all;
    font-size: 14px;
    padding: 5px 7px;
    background: #f4f6f8;
    border: 1px solid var(--border)
}

.publisher-card-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px
}

.publisher-card {
    border: 1px solid var(--border);
    background: #fff;
    padding: 18px;
    display: grid;
    gap: 12px
}

.publisher-card-head {
    display: flex;
    align-items: center;
    gap: 12px
}

.publisher-logo-thumb {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border: 1px solid var(--border);
    background: #fff
}

.publisher-logo-placeholder {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    background: #eef7fd;
    color: var(--action);
    display: grid;
    place-items: center;
    font-weight: 800;
    font-size: 20px
}

.publisher-meta {
    font-size: 13px;
    color: var(--muted)
}

.publisher-journal-list {
    display: grid;
    gap: 9px
}

.publisher-journal-item {
    border: 1px solid var(--border);
    padding: 10px;
    background: #fafcfd;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center
}

.publisher-admin-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap
}

.searchable-select {
    display: grid;
    gap: 7px
}

.searchable-select input[type=search] {
    background: #f9fbfc
}

.searchable-select select {
    min-height: 44px
}

.scope-note {
    background: #f5fbff;
    border: 1px solid #c9e1ef;
    padding: 12px 14px;
    color: #335b73
}

.admin-role-stack {
    display: flex;
    gap: 6px;
    flex-wrap: wrap
}

.publisher-badge {
    background: #ece9ff;
    color: #5c45a2
}

.journal-security-box {
    border: 1px solid #c9dbe7;
    background: #f8fcff;
    padding: 14px;
    margin-top: 14px
}

.orcid-result {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 3px 12px;
    align-items: center
}

.orcid-result strong {
    grid-column: 1
}

.orcid-result span {
    grid-column: 2;
    grid-row: 1
}

.orcid-result small {
    grid-column: 1/-1
}

@media(max-width: 1050px) {
    .publisher-card-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 760px) {
    .totp-setup-grid {
        grid-template-columns:1fr
    }

    .totp-qr {
        width: min(100%,260px);
        min-height: 220px
    }

    .publisher-card-grid {
        grid-template-columns: 1fr
    }

    .publisher-journal-item {
        display: block
    }

    .publisher-journal-item .actions {
        margin-top: 8px
    }
}

/* v1.5 publisher administration component aliases */
.publisher-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px
}

.publisher-card-logo {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border: 1px solid var(--border);
    background: #fff;
    padding: 4px
}

.publisher-line {
    min-height: 0!important;
    margin: 0 0 5px!important;
    font-size: 12px!important
}

.publisher-card .actions {
    margin-top: auto
}

@media(max-width: 760px) {
    .publisher-grid {
        grid-template-columns:1fr
    }

    .publisher-card-logo {
        width: 52px;
        height: 52px
    }
}

/* v1.6 publisher hierarchy, archive and compact search controls */
.publisher-landing-logo {
    max-width: 160px;
    max-height: 86px;
    object-fit: contain;
    margin-bottom: 12px
}

.publisher-settings-grid {
    margin: 14px 0 22px
}

.compact-search-dropdown .select-search-wrap {
    display: grid;
    gap: 8px
}

.compact-search-dropdown select {
    min-height: 44px
}

.status-control {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 8px
}

.status-control select {
    min-width: 120px
}

.btn.tiny {
    padding: 6px 9px;
    font-size: .78rem
}

.archive-filter .form-grid {
    align-items: end
}

.publisher-home-hero .platform-home-hero-card img {
    display: block;
    display: none;
}

.journal-admin-card .badge.danger {
    background: #fde8e7;
    color: #8d1d17
}

@media(max-width: 760px) {
    .publisher-settings-grid>.col-8,.publisher-settings-grid>.col-4 {
        grid-column:1/-1
    }

    .status-control {
        align-items: stretch;
        flex-direction: column
    }

    .archive-filter .form-grid {
        grid-template-columns: 1fr
    }
}

/* v1.7 controls */
.color-pair {
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 360px
}

.color-pair input[type=color] {
    width: 54px;
    height: 42px;
    padding: 3px;
    border: 1px solid #c9d2dc;
    border-radius: 7px;
    background: #fff
}

.color-pair input[data-color-hex] {
    flex: 1;
    text-transform: uppercase;
    font-family: ui-monospace,SFMono-Regular,Menlo,monospace
}

.toggle-control {
    display: inline-flex;
    align-items: center;
    gap: 10px
}

.toggle-control input {
    appearance: none;
    width: 46px!important;
    height: 25px;
    border: 0!important;
    border-radius: 999px;
    background: #aeb8c2;
    position: relative;
    cursor: pointer;
    transition: .18s
}

.toggle-control input:before {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: 19px;
    height: 19px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px #0003;
    transition: .18s
}

.toggle-control input:checked {
    background: var(--action,#0877b4)
}

.toggle-control input:checked:before {
    transform: translateX(21px)
}

.admin-modal {
    border: 0;
    border-radius: 12px;
    max-width: 820px;
    width: min(92vw,820px);
    padding: 0;
    box-shadow: 0 25px 70px #0005
}

.admin-modal::backdrop {
    background: #17212b99
}

.admin-modal-body {
    padding: 24px
}

.admin-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #e3e8ed;
    padding-bottom: 14px;
    margin-bottom: 18px
}

.icon-close {
    border: 0;
    background: transparent;
    font-size: 24px;
    cursor: pointer
}

.payment-qr-wrap {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    padding: 16px;
    border: 1px solid #dbe3ea;
    border-radius: 10px;
    background: #fbfcfd
}

.payment-qr-wrap svg {
    background: #fff;
    padding: 8px;
    border: 1px solid #d7dee6;
    max-width: 210px
}

.payment-offline-details {
    border-left: 4px solid var(--action,#0877b4);
    padding: 12px 16px;
    background: #f7fafc
}

.payment-request-card {
    border-top: 4px solid var(--action,#0877b4)
}

.publisher-contract-box {
    background: #fbfcfd;
    border: 1px solid #e1e6eb;
    border-radius: 8px;
    padding: 14px
}

.full-width-card {
    grid-column: 1/-1
}

@media(max-width: 760px) {
    .color-pair {
        max-width:none
    }

    .payment-qr-wrap {
        align-items: flex-start
    }

    .admin-modal {
        width: 96vw
    }

    .admin-modal-body {
        padding: 16px
    }
}

.toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 0;
    border-bottom: 1px solid #e8edf1
}

.toggle-row small {
    display: block;
    color: #687684;
    margin-top: 3px
}

.toggle-row input[type=checkbox],.checkbox-stack input[type=checkbox] {
    appearance: none;
    width: 46px!important;
    min-width: 46px;
    height: 25px;
    border: 0!important;
    border-radius: 999px;
    background: #aeb8c2;
    position: relative;
    cursor: pointer;
    vertical-align: middle
}

.toggle-row input[type=checkbox]:before,.checkbox-stack input[type=checkbox]:before {
    content: "";
    position: absolute;
    left: 3px;
    top: 3px;
    width: 19px;
    height: 19px;
    background: white;
    border-radius: 50%;
    box-shadow: 0 1px 3px #0003;
    transition: .18s
}

.toggle-row input[type=checkbox]:checked,.checkbox-stack input[type=checkbox]:checked {
    background: var(--action,#0877b4)
}

.toggle-row input[type=checkbox]:checked:before,.checkbox-stack input[type=checkbox]:checked:before {
    transform: translateX(21px)
}

/* v1.8 publisher/admin refinements */
.quick-action-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px
}

.quick-action-list a {
    display: flex;
    align-items: center;
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #fff;
    color: #17324d;
    font-weight: 700;
    text-decoration: none
}

.quick-action-list a:hover {
    border-color: var(--action);
    background: #f5fbff
}

.admin-user-photo {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px var(--border)
}

.publisher-logo-link {
    display: flex;
    align-items: center
}

.publisher-profile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin: 24px 0
}

.payment-revise-box {
    margin-top: 16px
}

.payment-editor-form textarea {
    min-height: 90px
}

.publisher-settings-grid>.col-8 {
    grid-column: span 10
}

.publisher-settings-grid>.col-4 {
    grid-column: span 2
}

@media(max-width: 860px) {
    .quick-action-list,.publisher-profile-grid {
        grid-template-columns:1fr
    }

    .publisher-settings-grid>.col-8,.publisher-settings-grid>.col-4 {
        grid-column: 1/-1
    }
}

/* EditorialFlow v2.0 additions; journal visual system above remains the v1.8.0 first-release theme. */
/* v1.8.1 publisher/platform branding and administration refinements */
.portal-brand {
    min-width: 0;
    flex: 1
}

.publisher-logo-link,.platform-logo-link {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #111827;
    text-decoration: none;
    min-width: 0
}

.publisher-logo-link {
    flex: 0 0 auto;
    padding-right: 10px;
    border-right: 1px solid #e5e7eb
}

.platform-logo-link {
    font-weight: 800
}

.platform-logo-link span:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.footer-brand-logo {
    display: block;
    max-width: 88px;
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain
}

.admin-user-photo,.admin-user-avatar {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px #0002
}

.quick-action-list {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    margin-top: 12px
}

.quick-action-list a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #dce5ec;
    border-radius: 10px;
    background: #fff;
    color: #153348;
    font-weight: 650;
    text-decoration: none
}

.quick-action-list a:hover {
    border-color: var(--action);
    box-shadow: 0 2px 9px #0000000d
}

.contact-support-section,.publisher-contact-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 28px;
    padding: 28px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: linear-gradient(135deg,#fff,#f7fafc);
    margin: 28px 0
}

.full-width-card {
    width: 100%
}

.branded-domain-help {
    background: #f7fafc;
    border: 1px solid #dde6ed;
    border-radius: 12px;
    padding: 16px;
    margin-top: 12px
}

.branded-domain-help code {
    word-break: break-all
}

.publisher-card-logo {
    object-fit: contain
}

.publisher-card-head>a {
    display: flex
}

.payment-revision-box {
    background: #f8fbfd;
    border: 1px solid #dbe8ef;
    border-radius: 12px;
    padding: 16px
}

.zero-payment-note {
    font-size: .82rem;
    color: #64748b
}

@media(max-width: 760px) {
    .quick-action-list {
        grid-template-columns:1fr
    }

    .contact-support-section,.publisher-contact-strip {
        align-items: flex-start;
        flex-direction: column
    }

    .portal-brand {
        gap: 7px
    }

    .publisher-logo-link {
        padding-right: 7px
    }

    .platform-logo-link span:last-child {
        max-width: 145px
    }

    .footer-brand-logo {
        max-width: 72px;
        max-height: 42px
    }
}

/* v1.8.2 branding, administration and correction-request refinements */
.topbar-inner {
    max-width: 1320px;
    justify-content: space-between;
}

.portal-brand {
    flex: 0 1 auto;
    justify-content: flex-start
}

.nav {
    margin-left: 20px;
}

.publisher-logo-link,.platform-logo-link {
    flex-shrink: 0
}

.publisher-logo {
    max-width: 96px;
    max-height: 48px
}

.site-logo {
    width: auto;
    height: auto;
    max-width: 72px;
    max-height: 42px;
    border-radius: 0
}

.platform-logo-link span:last-child {
    max-width: 260px !important;
}

.footer-inner {
    align-items: center
}

.footer-branding {
    display: flex;
    align-items: center;
    gap: 14px;
    flex: 0 0 auto;
    padding-right: 20px;
    border-right: 1px solid #e5e7eb
}

.footer-logo-link {
    display: flex;
    align-items: center
}

.footer-publisher-logo {
    max-width: 66px
}

.footer-platform-logo {
    max-height: 74px;
    max-width: 220px;
    width: auto;
    height: auto;
}

.footer-copy {
    min-width: 0;
    flex: 1
}

.quick-action-list {
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px
}

.quick-action-list a {
    min-height: 58px;
    padding: 13px 15px;
    border-radius: 12px
}

.contact-support-section {
    box-shadow: 0 8px 26px #0f172a0a;
    background: linear-gradient(135deg,#ffffff 0%,#f1f8fc 100%)
}

.publisher-config-tabs {
    position: sticky;
    top: 0;
    z-index: 8;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 10px;
    margin: 0 0 18px;
    background: #f8fbfd;
    border: 1px solid #dce7ee;
    border-radius: 12px
}

.publisher-config-tabs a {
    padding: 8px 11px;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #dce7ee;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none
}

.publisher-config-tabs a:hover {
    border-color: var(--action)
}

.publisher-config-panel {
    scroll-margin-top: 18px;
    padding: 14px;
    border: 1px solid #dce7ee;
    border-radius: 12px;
    background: #fbfdff
}

.journal-url-preview {
    word-break: break-all
}

.auth-brand-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 18px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e5e7eb
}

.auth-brand-row a {
    display: flex
}

.auth-publisher-logo {
    max-width: 110px;
    max-height: 54px;
    object-fit: contain
}

.auth-platform-logo {
    max-width: 70px;
    max-height: 44px;
    object-fit: contain
}

.publisher-custom-content {
    padding: 30px
}

.correction-request-card {
    border-left: 5px solid #d97706;
    background: #fffaf2
}

.correction-request-item,.notification-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 13px 0;
    border-top: 1px solid #e7e9ed
}

.correction-request-item:first-of-type,.notification-item:first-child {
    border-top: 0
}

.correction-request-item p,.notification-item p {
    margin: 6px 0;
    white-space: normal
}

.notification-list {
    display: grid
}

.publisher-home-hero {
    overflow: hidden
}

.publisher-about-grid>.card {
    box-shadow: 0 7px 24px #0f172a0b
}

.publisher-landing-logo {
    max-width: 180px;
    max-height: 100px;
    object-fit: contain;
}

@media(max-width: 900px) {
    .quick-action-list {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .topbar-inner {
        flex-wrap: wrap
    }

    .nav {
        width: 100%;
        margin-left: 0
    }

    .footer-branding {
        border-right: 0;
        border-bottom: 1px solid #e5e7eb;
        padding: 0 0 14px;
        width: 100%
    }

    .footer-inner {
        align-items: flex-start
    }

    .publisher-config-tabs {
        position: static
    }
}

@media(max-width: 600px) {
    .quick-action-list {
        grid-template-columns:1fr
    }

    .publisher-logo {
        max-width: 72px;
        max-height: 40px
    }

    .site-logo {
        max-width: 54px;
        max-height: 34px
    }

    .platform-logo-link span:last-child {
        max-width: 235px;
    }

    .footer-brand-logo {
        max-width: 52px;
        max-height: 30px
    }

    .correction-request-item,.notification-item {
        flex-direction: column
    }

    .publisher-config-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr
    }
}

/* v2.0 final compatibility: keep the established journal theme dimensions. */
.topbar-inner {
    max-width: 1320px;
}

.publisher-logo-link {
    padding-right: 0;
    border-right: 0
}

.publisher-logo {
    max-width: 78px;
    max-height: 54px
}

.site-logo {
    width: 40px;
    height: 40px;
    max-width: 40px;
    max-height: 40px;
    border-radius: 50%;
    object-fit: contain
}

.platform-logo-link {
    gap: 12px
}

.editor-correction-preview {
    margin-top: 8px;
    max-width: 520px;
    padding: 8px 10px;
    border-left: 3px solid #d97706;
    background: #fff8eb;
    border-radius: 4px;
    font-size: 13px;
    line-height: 1.45;
    white-space: normal
}

.editor-correction-preview small {
    display: block;
    color: #667085;
    margin-top: 5px
}

@media(max-width: 600px) {
    .publisher-logo {
        max-width:72px;
        max-height: 48px
    }

    .site-logo {
        width: 36px;
        height: 36px;
        max-width: 36px;
        max-height: 36px
    }
}

.wizard-help-links {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #dde5ec
}

.wizard-help-links p {
    margin: 8px 0
}

.support-content-page {
    max-width: 980px;
    margin: 24px auto
}

.support-content-page .faq-item {
    margin: 10px 0
}

/* EditorialFlow v2.1 enhancements — preserve the established journal theme. */
.publisher-about-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 42px;
    align-items: start
}

.publisher-info-column {
    padding: 8px 0 20px;
    background: transparent;
    border: 0;
    box-shadow: none
}

.publisher-info-column+ .publisher-info-column {
    border-left: 1px solid var(--line,#d8dee8);
    padding-left: 42px
}

.footer .footer-branding .footer-publisher-logo {
    max-height: 74px;
    max-width: 220px;
    width: auto;
    height: auto
}

.publisher-email-settings {
    margin: 24px 0;
    padding: 24px 0;
    border-top: 1px solid var(--line,#d8dee8);
    border-bottom: 1px solid var(--line,#d8dee8)
}

.dns-guidance {
    padding: 14px 0
}

.dns-guidance code {
    word-break: break-all
}

.help-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 0
}

.help-heading .help-icon {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8f4ff;
    color: var(--action);
    font-size: 19px;
    flex: 0 0 auto
}

.help-heading .danger-icon {
    background: #fde8e8;
    color: #c62828
}

.fa-picker {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap
}

.fa-picker-menu {
    position: absolute;
    top: 44px;
    left: 0;
    z-index: 50;
    background: #fff;
    border: 1px solid #cfd6df;
    box-shadow: 0 12px 28px rgba(19,35,58,.15);
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(3,minmax(90px,1fr));
    gap: 6px;
    min-width: 360px
}

.fa-picker-menu[hidden] {
    display: none
}

.fa-picker-menu button {
    border: 1px solid #e0e5eb;
    background: #fff;
    padding: 8px;
    cursor: pointer;
    display: flex;
    gap: 7px;
    align-items: center
}

.fa-picker-current {
    font-size: 12px;
    color: #667085
}

.icon-settings-grid>div {
    min-width: 0
}

.warning-strip {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    border-color: #f2c15e;
    background: #fff8e8
}

.warning-strip>i {
    font-size: 22px;
    color: #b66d00;
    margin-top: 2px
}

.warning-strip p {
    margin-bottom: 0
}

.draft-progress-steps {
    display: flex;
    align-items: flex-start;
    margin-top: 18px;
    overflow-x: auto;
    padding-bottom: 4px
}

.draft-progress-step {
    min-width: 90px;
    position: relative;
    text-align: center;
    color: #697386
}

.draft-progress-step:not(:last-child):before {
    content: "";
    position: absolute;
    top: 12px;
    left: 56%;
    right: -44%;
    height: 2px;
    background: #b9c3cf
}

.draft-progress-step.done:not(:last-child):before {
    background: var(--action)
}

.draft-progress-step span {
    position: relative;
    z-index: 2;
    background: #fff;
    display: inline-flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #aeb7c2;
    color: #8c96a3
}

.draft-progress-step.done span,.draft-progress-step.active span {
    border-color: var(--action);
    background: var(--action);
    color: #fff
}

.draft-progress-step small {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.2
}

.draft-progress-step.done small,.draft-progress-step.active small {
    color: #182230;
    font-weight: 600
}

.dashboard-filters {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap
}

.search-box {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #bcc5d0;
    padding: 0 10px;
    background: #fff;
    min-width: 280px
}

.search-box input {
    border: 0!important;
    outline: 0;
    padding: 9px 0
}

.dashboard-filters select {
    width: auto;
    min-width: 150px
}

.section-help {
    font-size: 16px;
    color: #344054;
    cursor: help
}

.dashboard-stat-link {
    text-decoration: none !important;
    color: inherit;
    display: block
}

.dashboard-stat-link:hover {
    border-color: var(--action);
    box-shadow: 0 5px 18px rgba(5,80,130,.10)
}

.stat-icon {
    float: right;
    font-size: 24px;
    color: var(--action)
}

.wizard-help-links p {
    margin: 9px 0;
}

.wizard-help-links a {
    display: flex;
    align-items: center;
    gap: 8px
}

.wizard-help-links a:hover{text-decoration:none}

.review-check-row .check-state i {
    margin-right: 5px
}

.publisher-config-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

@media(max-width: 800px) {
    .publisher-about-grid {
        grid-template-columns:1fr;
        gap: 18px
    }

    .publisher-info-column+ .publisher-info-column {
        border-left: 0;
        border-top: 1px solid var(--line,#d8dee8);
        padding-left: 0;
        padding-top: 24px
    }

    .fa-picker-menu {
        min-width: 290px;
        grid-template-columns: repeat(2,minmax(100px,1fr))
    }

    .search-box {
        min-width: 100%;
        width: 100%
    }

    .dashboard-filters {
        width: 100%
    }

    .dashboard-filters select {
        width: 100%
    }

    .draft-progress-step {
        min-width: 82px
    }
}

/* EditorialFlow v2.2 narrow additions to the original journal theme. */
.journal-cover-link {
    display: block;
    flex: 0 0 auto;
    text-decoration: none;
    color: inherit
}

.journal-cover-link .journal-cover {
    display: block
}

.journal-band-inner .journal-guide {
    margin-left: auto;
    align-self: center;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    align-self: center !important;
}

.journal-band-inner>div:not(.journal-cover-link) {
    min-width: 0
}

.journal-band-inner {
    /* align-items: center; */
}

.landing-callout .btn.secondary {
    display: inline-flex;
    gap: 7px;
    margin-top: 12px;
    background: #fff;
    border: 1px solid #cbd5e1;
    color: #1263a0
}

.auth-shell .login-card .auth-brand-row {
    display: none
}

@media(max-width: 650px) {
    .journal-band-inner .journal-guide {
        white-space:normal;
        margin-left: 0
    }

    .journal-band-inner {
        flex-wrap: wrap
    }
}

.journal-cover-link {
    align-self: flex-end;
    margin-bottom: -16px
}

.journal-cover-link .journal-cover {
    margin-bottom: 0
}

@media(max-width: 650px) {
    .journal-cover-link {
        margin-bottom:-10px
    }
}

/* v2.2.2: keep the banner cover and right-side Guide for Authors aligned. */
.journal-band-inner .journal-band-title {
    flex: 1 1 auto;
    min-width: 0
}

.journal-band-inner .journal-guide {
    margin-left: auto;
    flex: 0 0 auto;
    align-self: flex-start;
    /* padding-top: 16px; */
    display: inline-flex;
    gap: 7px;
    text-align: right;
    color: #fff
}

.journal-cover-link {
    cursor: pointer
}

@media(max-width: 700px) {
    .journal-band-inner .journal-guide {
        display:inline-flex;
        white-space: normal;
        align-self: center;
        padding-top: 0;
        font-size: 12px
    }

    .journal-band-inner .journal-band-title {
        flex: 1 1 60%
    }
}

/* v2.2.5: conditional publisher SMTP section */
[data-publisher-smtp-only][hidden] {
    display: none!important
}

/* EditorialFlow v2.2.6 - publisher DNS, FAQ editor and contextual error layout */
.publisher-section {
    margin: 20px 0
}

.publisher-section .form-grid {
    margin-bottom: 15px
}

.dns-record-preview {
    margin: 14px 0 18px
}

.dns-record-preview table {
    min-width: 420px
}

.dns-record-preview th {
    text-align: left
}

.faq-edit-row {
    padding: 12px 0;
    border-bottom: 1px solid #e7edf5;
    align-items: start
}

.faq-edit-row [data-remove-faq] {
    align-self: center;
    justify-self: start
}

.publisher-faq-section .faq-stack {
    margin-top: 16px
}

.smtp-provider-instructions {
    line-height: 1.5
}

.error-404-page {
    max-width: 760px;
    text-align: center;
    margin: 24px auto 48px;
    padding: 52px 24px
}

.error-404-page .error-code {
    font-weight: 800;
    letter-spacing: -.06em;
    line-height: 1;
    font-size: clamp(72px,15vw,142px);
    color: var(--brand)
}

.error-404-page h1 {
    font-size: clamp(26px,5vw,42px);
    margin: 16px 0
}

.error-404-page p {
    line-height: 1.7;
    color: #52637b
}

.error-404-page .btn {
    margin-top: 18px
}

.error-404-page .error-code span {
    display: block;
    font-size: clamp(24px,5vw,45px);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3
}

/* EditorialFlow v2.2.7: horizontal editorial progress; the existing journal theme is retained. */
.editor-progress-strip {
    display: flex;
    align-items: stretch;
    gap: 9px;
    overflow-x: auto;
    scrollbar-width: thin;
    margin: 13px 0 22px;
    padding: 5px 1px 12px;
    scroll-snap-type: x proximity
}

.editor-progress-item {
    min-width: 142px;
    flex: 1 0 142px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 12px 11px;
    background: #fff;
    border: 1px solid var(--border);
    text-decoration: none!important;
    border-radius: 9px;
    scroll-snap-align: start;
    color: inherit;
    box-shadow: 0 2px 7px rgba(16,24,40,.03)
}

.editor-progress-index {
    width: 29px;
    height: 29px;
    min-width: 29px;
    border-radius: 50%;
    background: #f2f4f7;
    color: #576477;
    display: grid;
    place-items: center;
    font-weight: 800
}

.editor-progress-copy {
    display: grid;
    gap: 3px;
    min-width: 0
}

.editor-progress-copy strong {
    font-size: 12px;
    line-height: 1.3
}

.editor-progress-copy small {
    font-size: 11px;
    line-height: 1.2;
    color: var(--muted)
}

.editor-progress-item.done {
    border-color: #9ed3a7;
    background: #f4fff6;
    color: #165529
}

.editor-progress-item.done .editor-progress-index {
    background: #247842;
    color: #fff
}

.editor-progress-item.current {
    border-color: var(--action);
    background: #f1f9ff
}

.editor-progress-item.current .editor-progress-index {
    background: var(--action);
    color: #fff
}

.editor-progress-item.waiting {
    opacity: .75
}

.editor-progress-item:focus-visible {
    outline: 3px solid var(--action);
    outline-offset: 2px
}

.review-response-actions {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin-top: 8px
}

.review-response-actions form {
    margin: 0
}

.review-response-actions .btn {
    white-space: nowrap
}

.review-screening-form {
    margin: 16px 0;
    padding: 13px;
    border: 1px solid var(--border);
    background: #f8fbfe;
    border-radius: 8px
}

@media(max-width: 750px) {
    .editor-progress-item {
        flex:0 0 155px;
        min-width: 155px;
        padding: 9px
    }

    .review-response-actions {
        gap: 5px
    }
}

/* EditorialFlow 2.2.8 - scoped, two-column editor workspace; original journal theme retained. */
.editorial-workspace-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    gap: 20px;
    align-items: start
}

.editorial-workspace-grid>.editorial-info-column, .editorial-workspace-grid>.editorial-action-column {
    min-width: 0;
    width: 100%;
    margin: 0
}

.editorial-workspace-grid .card {
    max-width: none
}

.ef-editor-column-title {
    padding: 9px 0 14px
}

.ef-editor-column-title h2 {
    margin: 0 0 5px;
    font-size: 22px
}

.ef-editor-stage {
    background: #fff;
    border: 1px solid var(--border,#dfe6ee);
    border-radius: 10px;
    margin-bottom: 13px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(24,39,60,.04)
}

.ef-editor-stage>summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    user-select: none;
    min-height: 75px
}

.ef-editor-stage>summary::-webkit-details-marker {
    display: none
}

.ef-editor-stage>summary:focus-visible {
    outline: 3px solid var(--action,#177abc);
    outline-offset: -3px
}

.ef-editor-stage>summary>span:nth-child(2) {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0
}

.ef-editor-stage>summary strong {
    font-size: 15px
}

.ef-editor-stage>summary small {
    font-size: 12px;
    line-height: 1.45;
    color: var(--muted,#657386)
}

.ef-editor-stage-number {
    width: 33px;
    height: 33px;
    min-width: 33px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #e6edf5;
    color: #425c79;
    font-weight: 800
}

.ef-editor-stage-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 6px 9px;
    border-radius: 18px;
    background: #f0f3f7;
    color: #5b677a;
    white-space: nowrap
}

.ef-editor-stage.stage-done>summary {
    background: #f3fbf4
}

.ef-editor-stage.stage-done .ef-editor-stage-number {
    background: #22814f;
    color: #fff
}

.ef-editor-stage.stage-done .ef-editor-stage-badge {
    background: #def5e2;
    color: #18663c
}

.ef-editor-stage.stage-current>summary {
    background: #f2f8ff
}

.ef-editor-stage.stage-current .ef-editor-stage-number {
    background: var(--action,#177abc);
    color: #fff
}

.ef-editor-stage.stage-locked>summary {
    background: #fafbfd;
    color: #6a7685
}

.ef-editor-stage[open]>summary {
    border-bottom: 1px solid var(--border,#e1e8ed)
}

.ef-editor-stage>section.card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    padding: 18px
}

.ef-editor-stage>p,.ef-editor-stage>.notice {
    margin: 16px
}

.ef-reviewer-line {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap
}

.ef-reviewer-line strong {
    flex: 0 0 auto
}

.ef-reviewer-identity {
    display: inline-block;
    position: relative
}

.ef-reviewer-identity>summary {
    cursor: pointer;
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid var(--border,#dbe2ea);
    background: #f7fafd;
    border-radius: 7px;
    color: var(--action,#186aa2)
}

.ef-reviewer-identity>summary::-webkit-details-marker {
    display: none
}

.ef-reviewer-identity>summary:focus-visible {
    outline: 3px solid var(--action,#177abc);
    outline-offset: 2px
}

.ef-reviewer-profile {
    padding: 11px 14px;
    margin-top: 6px;
    background: #f6f9fc;
    border: 1px solid var(--border,#dbe2ea);
    border-radius: 8px;
    width: min(350px,80vw);
    max-width: 100%;
    overflow-wrap: anywhere
}

.ef-reviewer-profile p {
    margin: 5px 0;
    font-size: 13px
}

.ef-reviewer-private-files {
    padding: 12px 14px;
    border-radius: 9px;
    background: #f8fafc;
    border: 1px dashed #c5d0df;
    margin: 12px 0
}

.ef-reviewer-private-files a {
    overflow-wrap: anywhere
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0
}

@media (max-width: 900px) {
    .editorial-workspace-grid {
        grid-template-columns:minmax(0,1fr)
    }

    .ef-editor-stage>summary {
        padding: 12px
    }

    .ef-editor-stage-badge {
        font-size: 10px
    }
}

/* EditorialFlow v2.2.9: isolated analytics and workflow-detail additions. */
.ef229-substeps {
    list-style: none;
    margin: 14px 0 18px;
    padding: 0;
    display: grid;
    gap: 8px
}

.ef229-substeps li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #fff8e9;
    border: 1px solid #f3dfb3;
    color: #755a15;
    font-size: .88rem
}

.ef229-substeps li::before {
    content: "◌";
    font-weight: 800;
    font-size: 1.06rem
}

.ef229-substeps li.done {
    color: #176047;
    background: #e8f6ee;
    border-color: #c1e8d0
}

.ef229-substeps li.done::before {
    content: "✓"
}

.ef229-publication-input {
    border: 1px solid #d9e5f0;
    background: #f8fbff;
    border-radius: 10px;
    margin: 16px 0;
    padding: 16px
}

.ef229-publication-input h4 {
    margin: 0 0 8px
}

.ef229-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: end;
    margin-bottom: 20px
}

.ef229-filter label {
    flex: 1;
    min-width: 230px
}

.ef229-metrics {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 15px;
    margin-bottom: 16px
}

.ef229-metrics .card {
    display: flex;
    flex-direction: column;
    gap: 7px
}

.ef229-metrics strong {
    font-size: 2rem;
    color: var(--action,#0877b4)
}

.ef229-metrics small,.ef229-metrics span {
    color: #526478
}

.ef229-bar {
    padding: 9px 0
}

.ef229-bar>div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: .9rem;
    margin: 0 0 5px
}

.ef229-track,.ef229-progress {
    width: 100%;
    height: 13px;
    border-radius: 99px;
    overflow: hidden;
    background: #eaf0f6
}

.ef229-progress {
    height: 20px;
    margin: 12px 0 16px
}

.ef229-track>span,.ef229-progress>span {
    display: block;
    height: 100%;
    border-radius: 99px;
    background: linear-gradient(90deg,var(--brand,#cf6f24),var(--action,#0877b4))
}

@media(max-width: 900px) {
    .ef229-metrics {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 550px) {
    .ef229-metrics {
        grid-template-columns:1fr
    }
}
.help-card a span {
    padding-right: 6px;
}
/* v2.3.0: Google Material Symbols (sitewide) */
.material-symbols-rounded {
    font-family: 'Material Symbols Rounded';
    font-weight: normal;
    font-style: normal;
    font-size: 1.3em;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    font-variation-settings: 'FILL' 1,'wght' 600,'GRAD' 0,'opsz' 24;
    vertical-align: -.14em
}

.landing-action-icon .material-symbols-rounded,.portal-icon .material-symbols-rounded,.help-icon .material-symbols-rounded,.callout-symbol .material-symbols-rounded {
    font-size: 1.8em;
    font-variation-settings: 'FILL' 1,'wght' 700,'GRAD' 0,'opsz' 40
}

/* v2.3.0: redesigned platform features and inline editorial substep badges */
.platform-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(215px,1fr));
    gap: 18px;
    margin-top: 22px
}

.platform-feature-card {
    position: relative;
    overflow: hidden;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    padding: 30px 24px;
    min-height: 215px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: linear-gradient(160deg,#fff,#f6f9ff);
    box-shadow: 0 12px 28px rgba(33,54,91,.065);
    transition: transform .18s ease,box-shadow .18s ease
}

.platform-feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(33,54,91,.12)
}

.platform-feature-card .feature-icon {
    height: 68px;
    width: 68px;
    display: grid;
    place-items: center;
    margin-bottom: 12px;
    border-radius: 19px;
    background: #e3eeff;
    color: #175db4
}

.platform-feature-card .feature-icon .material-symbols-rounded {
    font-size: 37px;
    font-variation-settings: 'FILL' 1,'wght' 600,'GRAD' 0,'opsz' 40
}

.platform-feature-card:nth-child(3n+2) .feature-icon {
    background: #e0f6ed;
    color: #107959
}

.platform-feature-card:nth-child(3n+3) .feature-icon {
    background: #fff0df;
    color: #bd5e13
}

.platform-feature-card h3 {
    margin: 0 0 9px
}

.platform-feature-card p {
    margin: 0;
    line-height: 1.58;
    max-width: 30ch;
    color: #48596a
}

.ef229-substeps li::after {
    content: 'Pending';
    margin-left: auto;
    border: 1px solid #eecf82;
    background: #fff7de;
    color: #775a10;
    border-radius: 999px;
    padding: 3px 9px;
    font-weight: 800;
    font-size: .71rem;
    white-space: nowrap
}

.ef229-substeps li.done::after {
    content: 'Completed';
    border-color: #c2ead7;
    background: #def4e8;
    color: #186144
}

.editorial-process-complete {
    display: block;
    width: 100%;
    max-width: none
}

.editorial-process-complete>.editorial-info-column,.editorial-process-complete>.editorial-action-column {
    width: 100%;
    max-width: none;
    margin: 0 0 18px
}

.editorial-process-complete .card {
    max-width: none;
    width: 100%
}

.ef230-undo-row {
    margin: 10px 0 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    background: #fffaf1;
    border: 1px solid #f3dfa5;
    border-radius: 9px
}

.ef230-undo-row p {
    margin: 0;
    flex: 1;
    min-width: 200px;
    font-size: .86rem
}

.ef230-undo-row form {
    margin: 0
}

@media(max-width: 650px) {
    .platform-feature-grid {
        grid-template-columns:1fr
    }
}

/* v2.3.0 accepted-article dashboard and certificate preview */
.ef230-published-dashboard h2 {
    display: flex;
    align-items: center;
    gap: 10px
}

.ef230-published-row {
    padding: 16px 0;
    border-top: 1px solid #e1e9f0
}

.ef230-published-row>.actions {
    margin: 10px 0
}

.ef230-author-withdraw {
    margin-top: 10px;
    border: 1px solid #e1e8ef;
    border-radius: 9px;
    padding: 9px 13px
}

.ef230-author-withdraw summary {
    cursor: pointer;
    font-weight: 700;
    color: #94492d
}

.ef230-author-withdraw textarea {
    min-height: 80px
}

.ef230-certificate-view {
    max-width: none!important
}

.ef230-certificate-view .section-heading {
    align-items: center;
    flex-wrap: wrap
}

.ef230-certificate-view iframe {
    display: block;
    width: 100%;
    height: auto;
    min-height: 430px;
    aspect-ratio: 842/595;
    border: 1px solid #b9c9da;
    background: #e6ecf3;
    border-radius: 8px;
    margin: 16px auto
}

@media(max-width: 650px) {
    .ef230-certificate-view iframe {
        min-height:250px;
        aspect-ratio: 842/595
    }

    .ef230-published-row .actions {
        flex-direction: column;
        align-items: stretch
    }
}


/*extra css */
dl.meta {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 30px;
    row-gap: 16px;
    align-items: center;
}

dl.meta dt {
    font-weight: 600;
    margin: 0;
}

dl.meta dd {
    margin: 0;
    min-width: 0;
    overflow-wrap: anywhere;
}
/* v2.4.4 — payment option dependency and gateway checkbox alignment (settings only). */
.ef-payment-option-config [data-payment-show][hidden],
.ef-payment-gateway-config [hidden] {display:none!important}
.ef-payment-option-config .hint {margin:6px 0 0;line-height:1.5}
.ef-payment-option-config .form-grid {align-items:start}
.ef-payment-gateway-config .ef-gateway-detail {margin-bottom:10px}
.ef-payment-gateway-config .ef-gateway-detail summary {display:list-item;cursor:pointer}
.ef-payment-gateway-config .ef-gateway-detail summary .badge {margin:0 5px;font-size:11px;vertical-align:middle}
.ef-payment-gateway-config .ef-module-status {align-self:start;min-width:0}
.ef-payment-gateway-config .ef-toggle-title {display:block;font-weight:700;margin-bottom:8px}
.ef-payment-gateway-config .ef-checkbox-line {display:flex!important;align-items:center;justify-content:flex-start;gap:12px;margin:0;min-height:46px;padding:12px;border:1px solid #dce5ed;border-radius:8px;background:#f7f9fc;text-transform:none;cursor:pointer}
.ef-payment-gateway-config .ef-checkbox-line input[type=checkbox] {appearance:auto!important;display:block!important;position:static!important;float:none!important;flex:0 0 19px!important;width:19px!important;min-width:19px!important;max-width:19px!important;height:19px!important;margin:0!important;padding:0!important;accent-color:var(--action,#0877b4);border:1px solid #8796a3!important;border-radius:4px!important;box-shadow:none!important;transform:none!important}
.ef-payment-gateway-config .ef-checkbox-line input[type=checkbox]::before,
.ef-payment-gateway-config .ef-checkbox-line input[type=checkbox]::after {display:none!important;content:none!important}
.ef-payment-gateway-config .ef-checkbox-line span {display:block;min-width:0;line-height:1.4}
.ef-payment-gateway-config .ef-checkbox-line strong {display:block;font-size:14px}
.ef-payment-gateway-config .ef-checkbox-line small {display:block;font-weight:400;font-size:12px;color:#687684;margin-top:3px}
@media (min-width:780px) {
  .ef-payment-option-config .form-grid,
  .ef-payment-gateway-config .ef-gateway-detail .form-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:779px) {
  .ef-payment-option-config .form-grid,
  .ef-payment-gateway-config .ef-gateway-detail .form-grid {grid-template-columns:minmax(0,1fr)}
}

/* v2.4.11 — Shared Account Profile: email badge with always-available, right-aligned Change Email ID button. */
.account-email-field {
    margin: 14px 0 20px;
    padding: 14px 16px;
    border: 1px solid var(--border, #dce5ed);
    border-radius: 9px;
    background: #f8fafc;
}
.account-email-label {
    display: block;
    margin: 0 0 7px;
    color: #374151;
    font-size: 13px;
    font-weight: 700;
}
.account-email-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 18px;
    min-width: 0;
}
.account-email-value {
    display: flex;
    flex: 1 1 200px;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px 12px;
    min-width: 0;
}
.account-email-address {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    font-weight: 600;
}
.account-email-value .badge {
    flex: 0 0 auto;
}
.account-email-row .account-email-action {
    flex: 0 0 auto;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 31px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
}
.account-email-hint {
    margin: 9px 0 0;
    font-size: 12px;
    line-height: 1.5;
}
@media (max-width: 480px) {
    .account-email-field { padding: 12px; }
}

/* v2.5.6 — Purpose Code administration and publication metadata XML. */
.purpose-share-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}.purpose-share-row input{flex:1 1 360px;min-width:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.purpose-code-card code,.purpose-submission-notice code{font-size:.94em}.metadata-xml-preview{width:100%;min-height:260px;margin:12px 0;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto;background:#f8fafc}.publication-metadata-card .actions{display:flex;gap:8px;flex-wrap:wrap}.editorial-decision-substage,.editorial-revision-substage{margin:14px 0;border:1px dashed var(--border,#dce5ed);border-radius:10px;background:#fbfcfd}.purpose-referral-notice{margin-bottom:16px}

/* v2.5.7 — Purpose referral presentation and complete editorial step numbering. */
.submission-landing>.purpose-referral-notice{
    grid-column:1/-1;
    width:100%;
    max-width:none;
    box-sizing:border-box;
    margin:0 0 16px
}
.purpose-referral-strip{
    display:flex;
    align-items:flex-start;
    gap:14px
}
.purpose-referral-strip>.material-symbols-rounded{
    flex:0 0 auto;
    margin-top:2px;
    font-size:22px;
    color:var(--action,#0877b4)
}
.purpose-referral-strip>div{
    min-width:0;
    flex:1 1 auto
}
.purpose-referral-strip p{
    margin-bottom:0
}

/* v2.5.9 — safe client-side LaTeX-style equation presentation. The saved
   manuscript keeps the original TeX source; only the browser view is MathML. */
.ef-math {
    max-width: 100%;
    color: inherit
}

.ef-math-inline {
    display: inline-block;
    vertical-align: -0.18em;
    margin: 0 .08em
}

.ef-math-display {
    display: block;
    width: 100%;
    margin: .8em 0;
    overflow-x: auto;
    overflow-y: hidden;
    text-align: center;
    padding: .15em 0
}

.ef-math math {
    font-size: 1.04em;
    max-width: 100%
}

.ef-math-display math {
    margin-inline: auto
}

.rich-area .ef-math[data-editor-math] {
    background: #f7fbfd;
    border: 1px solid #c9dbe6;
    border-radius: 5px;
    padding: .12em .3em;
    cursor: default
}

.rich-area .ef-math-display[data-editor-math] {
    padding: .55em .7em
}

.rich-area .ef-math[data-editor-math]:hover {
    border-color: #7eaec6;
    background: #f0f8fc
}

.ef-math-error {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: .9em;
    border-bottom: 1px dotted #b42318;
    color: #b42318
}


/* v2.5.10 — equation-aware manuscript title preview. The source stays in the
   plain text input; this preview uses the same local MathML renderer as saved
   manuscript details and dashboards. */
.math-input-preview{margin-top:8px;padding:10px 12px;border:1px solid #dce4ea;border-radius:8px;background:#f8fafc;color:#263542}
.math-input-preview[hidden]{display:none!important}
.math-input-preview>small{display:block;margin-bottom:5px;color:#657482;font-weight:700;letter-spacing:.01em}
.math-input-preview-value{font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.math-input-preview-value .ef-math-inline{vertical-align:middle}

/* v2.5.12 — journal editorial login footer link placement. */
.footer-links .footer-editorial-login{margin-left:auto;font-weight:700;white-space:nowrap}
@media(max-width:700px){.footer-links .footer-editorial-login{margin-left:0}}

/* v2.7.1 — ORCID sign-in, formatted manuscript titles, smart manuscript extraction and author workflow tracking. */
.title-rich-editor{border:1px solid #aeb9c4;background:#fff;max-width:100%}
.title-rich-editor .rich-toolbar{border:0;border-bottom:1px solid var(--border,#d8e0e7);background:#f7f9fb}
.title-rich-editor .title-rich-area{min-height:54px;padding:12px;outline:0;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.title-rich-editor .title-rich-area:focus{outline:2px solid rgba(8,119,180,.18);outline-offset:-2px}
.title-rich-editor .title-rich-area:empty:before{content:attr(data-placeholder);color:#8a96a3;pointer-events:none}
.title-rich-editor .title-rich-area sup,.title-rich-editor .title-rich-area sub{font-size:.75em}
.smart-extraction-notice{display:flex;align-items:flex-start;gap:12px;background:#f4fbff;border:1px solid #bcdff1;border-left:4px solid var(--action,#0877b4);padding:13px 15px;margin:0 0 18px}
.smart-extraction-notice>.material-symbols-rounded{flex:0 0 auto;font-size:23px;color:var(--action,#0877b4);margin-top:1px}
.smart-extraction-notice p{margin:4px 0 0}
.orcid-login-actions{display:grid;gap:9px;margin-top:16px}
.btn.orcid-btn{background:#a6ce39;border-color:#8fb72e;color:#203600;font-weight:800}
.btn.orcid-btn:hover{background:#95bd31;border-color:#7ea527;color:#172900}
.orcid-divider{display:flex;align-items:center;gap:10px;color:#7a8694;font-size:12px;margin:15px 0}
.orcid-divider:before,.orcid-divider:after{content:"";height:1px;background:#dce3e9;flex:1}
.author-workflow-list{display:grid;gap:14px;margin-top:18px}
.author-workflow-card{border:1px solid var(--border,#d8e0e7);background:#fff;padding:16px}
.author-workflow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.author-workflow-head>div{min-width:0}
.author-workflow-head [data-math-render]{margin-top:3px;overflow-wrap:anywhere}
.author-status-flow{display:flex;align-items:stretch;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:5px 2px 10px;scroll-snap-type:x proximity}
.author-status-step{position:relative;flex:1 0 145px;min-width:145px;display:flex;align-items:center;gap:9px;padding:11px 10px;border:1px solid #cfd7df;background:#fff;scroll-snap-align:start;box-shadow:0 1px 4px rgba(16,24,40,.03)}
.author-status-step .author-status-dot{width:28px;height:28px;min-width:28px;border-radius:50%;display:grid;place-items:center;background:#eef2f6;color:#596879;font-weight:800;font-size:12px}
.author-status-step .author-status-copy{display:grid;gap:2px;min-width:0}
.author-status-step strong{font-size:12px;line-height:1.25}
.author-status-step small{font-size:10.5px;line-height:1.2;color:#687684}
.author-status-step.done{border-color:#61aa76;background:#f4fff7;box-shadow:0 0 0 1px rgba(46,139,69,.12),0 3px 12px rgba(46,139,69,.10)}
.author-status-step.done .author-status-dot{background:#2e8b45;color:#fff}
.author-status-step.pending{border-color:#e1ad2f;background:#fffaf0;box-shadow:0 0 0 2px rgba(225,173,47,.16),0 4px 14px rgba(168,104,0,.12)}
.author-status-step.pending .author-status-dot{background:#d99a12;color:#fff}
.author-status-step.failed{border-color:#cf5149;background:#fff5f4;box-shadow:0 0 0 2px rgba(180,35,24,.13),0 4px 14px rgba(180,35,24,.12)}
.author-status-step.failed .author-status-dot{background:#b42318;color:#fff}
.author-status-step.waiting{opacity:.72}
.author-workflow-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;font-size:11px;color:#637080}
.author-workflow-legend span:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.author-workflow-legend .done:before{background:#2e8b45}.author-workflow-legend .pending:before{background:#d99a12}.author-workflow-legend .failed:before{background:#b42318}
@media(max-width:700px){.author-workflow-head{display:block}.author-workflow-head>.badge{margin-top:8px}.author-status-step{flex-basis:132px;min-width:132px}.title-rich-editor .title-rich-area{font-size:15px}}

/* v2.7.2 profile/submission polish */
.keyword-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    border: 1px solid #aeb9c4;
    border-radius: 6px;
    padding: 7px;
    min-height: 48px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.keyword-box:focus-within {
    border-color: var(--action-color, #0877b4);
    box-shadow: 0 0 0 3px rgba(8,119,180,.12);
}
.keyword-box .keyword-entry {
    background: transparent;
}
.orcid-profile-connect {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    margin-top: 8px;
}
.orcid-profile-connect .hint {
    margin: 0;
    max-width: 520px;
}
.smart-extraction-retry {
    margin-top: 10px;
}
