/* Aplicación local: cuentas, administración y contenido persistente */

.app-hero { min-height: 430px; }
.app-hero .container { display: flex; min-height: inherit; flex-direction: column; justify-content: center; }
.app-section { min-height: 45vh; }
.app-auth-grid { align-items: start; grid-template-columns: minmax(280px,.8fr) minmax(420px,1.2fr); }
.app-form-stack { display: grid; gap: 1rem; }
.inline-form { display: inline-flex; align-items: end; gap: .75rem; margin: 0; }
.inline-form .field { margin: 0; }
.app-alert { margin-bottom: 1.25rem; padding: 1rem 1.1rem; border: 1px solid; border-radius: var(--radius-sm); }
.app-alert.success { color: #0e584e; background: #e9f7f3; border-color: #a9d8cb; }
.app-alert.error { color: #7c2424; background: #fff0ef; border-color: #e3b5b1; }
.provider-button:disabled { cursor: not-allowed; opacity: .58; }
.app-panel-grid { align-items: start; margin-top: 1.5rem; }
.app-panel-grid .dashboard-card { margin-bottom: 0; }

.profile-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  margin-bottom: 1.15rem;
  object-fit: contain;
  object-position: center bottom;
  border-radius: calc(var(--radius-md) - .2rem);
  background: var(--slate-100);
}

.profile-institution { display: block; margin: -.35rem 0 .7rem; color: var(--petrol-700); font-size: .78rem; font-weight: 750; }
.profile-card .card-tag { display: inline-flex; margin-bottom: .75rem; }
.profile-card h3 a, .article-card h3 a { color: inherit; text-decoration: none; }
.article-card h3 a:hover { color: var(--petrol-700); }

.admin-hero { min-height: 360px; }
.admin-tabs { position: sticky; top: var(--header-height); z-index: 20; overflow-x: auto; background: var(--white); border-bottom: 1px solid var(--slate-200); }
.admin-tabs .container { display: flex; min-width: max-content; }
.admin-tabs a { padding: 1rem .9rem; color: var(--slate-600); border-bottom: 3px solid transparent; font-size: .82rem; font-weight: 750; text-decoration: none; }
.admin-tabs a:hover, .admin-tabs a[aria-current="page"] { color: var(--ink-950); border-bottom-color: var(--gold-500); }
.admin-section { display: grid; gap: 1.5rem; }
.admin-section + .admin-section { margin-top: 3rem; }
.admin-shortcut { display: grid; min-height: 145px; align-content: end; gap: .5rem; padding: 1.25rem; color: var(--ink-950); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); text-decoration: none; }
.admin-shortcut:hover { transform: translateY(-2px); border-color: var(--gold-500); }
.admin-shortcut span { color: var(--slate-600); font-size: .88rem; }
.admin-table { min-width: 900px; }
.admin-table td { vertical-align: top; }
.admin-table td small { display: block; margin-top: .25rem; color: var(--slate-500); }
.table-form { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.table-form select { width: auto; min-width: 125px; padding: .55rem .7rem; }
.compact-check { display: inline-flex; align-items: center; gap: .35rem; margin: 0; white-space: nowrap; font-size: .8rem; }
.compact-check input { width: auto; }

.admin-new { overflow: hidden; background: #f1f8f8; border: 1px solid #bcdde1; border-radius: var(--radius-md); }
.admin-new > summary { padding: 1rem 1.25rem; cursor: pointer; color: var(--ink-950); font-weight: 800; }
.admin-new > .admin-edit-card { margin: 0; border: 0; border-top: 1px solid #bcdde1; border-radius: 0; }
.admin-edit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.admin-edit-grid.single { grid-template-columns: 1fr; }
.admin-edit-card { padding: clamp(1rem,3vw,1.5rem); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.admin-edit-card .form-grid { gap: 1rem; }
.admin-card-actions { display: flex; flex-wrap: wrap; gap: .5rem; padding-top: 1rem; border-top: 1px solid var(--slate-200); }
.admin-photo-preview { display: flex; align-items: center; gap: .8rem; margin-bottom: 1rem; padding: .7rem; background: #f6f8f8; border-radius: var(--radius-sm); }
.admin-photo-preview img { width: 68px; height: 82px; object-fit: cover; border-radius: .35rem; }
.admin-photo-preview span { color: var(--slate-600); font-size: .78rem; font-weight: 700; }
.btn-danger { color: #fff; background: #8a2929; border-color: #8a2929; }
.btn-danger:hover { background: #6f1f1f; border-color: #6f1f1f; }
.content-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .75rem; padding: 1rem 0; border-top: 1px solid var(--slate-200); }
.content-form:first-of-type { border-top: 0; }
.content-form .field { margin: 0; }
.content-form textarea { min-height: 115px; }
.admin-section code { padding: .12rem .35rem; color: #104757; background: #f1f8f8; border-radius: .2rem; }
.page-picker { display: flex; flex-wrap: wrap; gap: .45rem; }
.page-picker a { padding: .55rem .75rem; color: var(--slate-700); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-pill); font-size: .78rem; font-weight: 750; text-decoration: none; }
.page-picker a:hover, .page-picker a[aria-current="page"] { color: var(--ink-950); background: var(--gold-100); border-color: var(--gold-500); }
.source-editor { min-height: 560px; resize: vertical; font-family: Consolas, "Courier New", monospace; font-size: .78rem; line-height: 1.55; tab-size: 2; }

.account-services { margin-top: clamp(3rem,7vw,6rem); }
.event-account-card { display: grid; align-content: start; gap: .75rem; }
.event-account-card .card-tag { width: max-content; margin-bottom: 0; }
.payment-instructions { margin: 1rem 0; padding: 1rem; color: var(--ink-950); background: #eef7f7; border: 1px solid #b8d8dc; border-radius: var(--radius-sm); }
.payment-instructions p { margin: .45rem 0 0; color: #294854; white-space: pre-line; }

.events-list { display: grid; gap: 1rem; }
.event-card { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 1.5rem; padding: clamp(1.2rem,3vw,2rem); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.event-date { align-content: center; min-height: 120px; padding: 1rem; color: var(--ink-950); background: var(--gold-100); border-radius: var(--radius-sm); }
.event-date span { font-size: .78rem; font-weight: 750; letter-spacing: .05em; }
.event-date strong { margin-top: .55rem; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; }
.event-card-body { min-width: 0; }
.event-card-body h3 { margin: .45rem 0; font-family: var(--serif); font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 400; }
.event-card-body h3 a { color: inherit; text-decoration: none; }
.event-badges { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.event-badges .card-tag { margin: 0; }
.event-price { color: var(--success); font-size: .78rem; font-weight: 800; }
.event-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.55fr); gap: clamp(2rem,6vw,5rem); align-items: start; }
.event-registration { position: sticky; top: calc(var(--header-height) + 2rem); }
.registration-status { padding: clamp(1.2rem,3vw,2rem); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }

.doi-import-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.7fr); gap: 1.5rem; align-items: end; padding: 1.4rem; color: var(--white); background: var(--ink-900); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-md); }
.doi-import-card p { margin-bottom: 0; color: rgba(255,255,255,.86); }
.doi-import-card label { color: var(--white); }
.doi-import-card .card-tag { margin-bottom: .7rem; }
.admin-event-list { display: grid; gap: 1rem; }
.admin-event-block { overflow: hidden; background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.admin-event-block > summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.4rem; cursor: pointer; }
.admin-event-block > summary span { color: var(--slate-500); font-size: .8rem; }
.admin-event-block > .admin-edit-card { border: 0; border-top: 1px solid var(--slate-200); border-radius: 0; box-shadow: none; }
.event-admin-registrations { padding: 1.4rem; border-top: 1px solid var(--slate-200); }
.event-admin-registrations .admin-table { margin-top: 1rem; }

@media (max-width: 1080px) {
  .app-auth-grid { grid-template-columns: 1fr; }
  .admin-edit-grid { grid-template-columns: 1fr; }
  .doi-import-card, .event-detail-grid { grid-template-columns: 1fr; }
  .event-registration { position: static; }
}

@media (max-width: 720px) {
  .app-hero { min-height: 360px; }
  .app-section { padding-top: 3rem; }
  .inline-form { width: 100%; align-items: stretch; flex-direction: column; }
  .inline-form .btn { width: 100%; }
  .admin-tabs { top: var(--header-height); }
  .admin-tabs .container { width: max-content; min-width: 100%; padding-inline: .35rem; }
  .admin-tabs a { padding: .85rem .7rem; }
  .content-form { grid-template-columns: 1fr; }
  .content-form .btn { width: 100%; }
  .source-editor { min-height: 440px; }
  .admin-card-actions { flex-direction: column; }
  .admin-card-actions form, .admin-card-actions .btn { width: 100%; }
  .profile-grid { grid-template-columns: 1fr; }
  .event-card { grid-template-columns: 1fr; gap: 1rem; }
  .event-date { min-height: auto; text-align: left; }
  .admin-event-block > summary { flex-direction: column; }
  .doi-import-card .inline-form { align-items: stretch; }
}

@media (max-width: 420px) {
  .app-hero h1 { font-size: clamp(2.5rem,14vw,3.5rem); }
  .auth-card, .form-card, .dashboard-card, .admin-edit-card { padding: 1rem; }
  .dashboard-metrics { grid-template-columns: 1fr; }
}

.security-panel { margin-top: 1.25rem; padding: 1.15rem; background: #f3f7f7; border: 1px solid #d8e4e5; border-radius: 14px; }
.secret-code { display: block; margin: .85rem 0; padding: .85rem; overflow-wrap: anywhere; color: #072a38; background: #fff; border: 1px dashed #8aa9ad; border-radius: 10px; font-size: .95rem; letter-spacing: .08em; }
.status-pill { display: inline-flex; align-items: center; width: fit-content; padding: .35rem .65rem; color: #174957; background: #e6f0f0; border-radius: 999px; font-size: .78rem; font-weight: 760; }
.status-pill.success { color: #155936; background: #e6f5ec; }
.status-pill.warning { color: #704d0b; background: #fbf1d9; }
.site-status-card { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.25rem,3vw,2rem); color: #174957; background: #eef7f5; border: 1px solid #abd3c6; border-radius: var(--radius-md); box-shadow: var(--shadow-sm); }
.site-status-card.is-maintenance { color: #704d0b; background: #fff8e8; border-color: #ddc07c; }
.site-status-card h3 { margin: .8rem 0 .25rem; font-family: var(--serif); font-size: clamp(1.5rem,3vw,2rem); font-weight: 400; }
.site-status-card p { max-width: 68ch; margin: 0; color: inherit; }
.maintenance-settings-form { margin: 0; }
.maintenance-switch { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: .85rem; padding: 1.1rem; background: var(--ivory-100); border: 1px solid var(--slate-200); border-radius: var(--radius-sm); }
.maintenance-switch input { width: 1.15rem; height: 1.15rem; margin-top: .22rem; }
.maintenance-switch label { display: grid; gap: .2rem; }
.maintenance-switch label span { color: var(--slate-500); font-size: .85rem; font-weight: 400; }

.maintenance-body { min-height: 100svh; color: var(--white); background: radial-gradient(circle at 18% 18%, rgba(28,115,129,.38), transparent 31%), linear-gradient(128deg, #061a29 0%, #0b3043 58%, #145868 100%); }
.maintenance-body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .25; background-image: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, transparent 5%, #000 90%); }
.maintenance-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(340px,.68fr); align-items: center; gap: clamp(2rem,7vw,7rem); width: min(calc(100% - 3rem), 1260px); min-height: 100svh; margin-inline: auto; padding-block: clamp(2rem,7vh,5rem); }
.maintenance-message { display: grid; align-content: space-between; min-height: min(660px, calc(100svh - 5rem)); }
.maintenance-brand { display: inline-flex; align-items: center; gap: .8rem; width: fit-content; color: var(--white); text-decoration: none; }
.maintenance-brand > span:last-child { display: grid; line-height: 1.2; }
.maintenance-brand strong { font-family: var(--serif); font-size: 1.05rem; }
.maintenance-brand small { margin-top: .2rem; color: rgba(255,255,255,.7); font-size: .66rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.maintenance-message .eyebrow { color: #e7cca0; }
.maintenance-message h1 { max-width: 12ch; margin-bottom: 1.25rem; color: var(--white); font-size: clamp(3rem, min(6vw,9vh), 6rem); line-height: .98; }
.maintenance-lead { max-width: 57ch; color: rgba(255,255,255,.86); font-size: clamp(1rem,1.7vw,1.2rem); line-height: 1.65; }
.maintenance-forecast { display: flex; align-items: center; gap: .6rem; margin: 1.5rem 0 0; color: #f0d7aa; font-weight: 750; }
.maintenance-forecast span { width: .55rem; height: .55rem; background: #d6b87f; border-radius: 50%; box-shadow: 0 0 0 .3rem rgba(214,184,127,.14); animation: maintenance-pulse 2.4s ease-in-out infinite; }
.maintenance-note { max-width: 62ch; margin: 0; color: rgba(255,255,255,.62); font-size: .78rem; }
.maintenance-login { padding: clamp(1.5rem,4vw,2.5rem); color: var(--ink-950); background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.38); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.maintenance-login .status-pill { margin-bottom: 1.8rem; color: #704d0b; background: #fbf1d9; }
.maintenance-login .eyebrow { margin-bottom: .7rem; }
.maintenance-login h2 { margin-bottom: .6rem; font-size: clamp(2rem,4vw,3rem); }
.maintenance-login > p { color: var(--slate-600); }
.maintenance-login .app-alert { margin-bottom: 1.2rem; }
.maintenance-security { margin: 1.2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--slate-200); font-size: .76rem; }
@keyframes maintenance-pulse { 0%,100% { opacity: .55; transform: scale(.85); } 50% { opacity: 1; transform: scale(1); } }
.spaced-notice { margin-top: 1rem; }
.submission-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; }
.submission-card details { margin-top: 1rem; }
.submission-timeline { display: grid; gap: 0; margin: 1rem 0 0; padding: 0; list-style: none; }
.submission-timeline li { position: relative; padding: 0 0 1.25rem 1.5rem; border-left: 1px solid #bdd1d3; }
.submission-timeline li::before { content: ""; position: absolute; left: -5px; top: .3rem; width: 9px; height: 9px; background: #2a6e79; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px #2a6e79; }
.submission-timeline li:last-child { padding-bottom: 0; }
.submission-timeline strong, .submission-timeline span { display: block; }
.submission-timeline span { margin-top: .15rem; color: #557078; font-size: .82rem; }
.submission-new { margin-top: 1.5rem; }
.submission-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.submission-detail-grid p { white-space: pre-line; }
.editorial-decision-form { margin: 1.5rem 0; padding: 1.25rem; background: #f3f7f7; border-radius: 14px; }
.editorial-block > summary span { max-width: 42ch; text-align: right; }
@media (max-width: 760px) {
  .submission-detail-grid { grid-template-columns: 1fr; }
  .editorial-block > summary span { max-width: none; text-align: left; }
}

@media (max-width: 900px) {
  .maintenance-shell { grid-template-columns: 1fr; width: min(calc(100% - 1.5rem), 700px); padding-block: 1.5rem 3rem; }
  .maintenance-message { min-height: auto; gap: 3.5rem; }
  .maintenance-message h1 { max-width: 13ch; font-size: clamp(2.8rem,10.5vw,4.8rem); }
  .maintenance-note { display: none; }
}

@media (max-width: 620px) {
  .site-status-card { align-items: stretch; flex-direction: column; }
  .site-status-card .btn { width: 100%; }
  .maintenance-message { gap: 2.75rem; }
  .maintenance-message h1 { font-size: clamp(2.6rem,12vw,3.75rem); }
  .maintenance-login { padding: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .maintenance-forecast span { animation: none; }
}

/* Plataforma institucional, científica y de servicios */
.provider-button.is-disabled { cursor: not-allowed; opacity: .72; background: var(--slate-100); border-style: dashed; }
.provider-button.is-disabled:hover { border-color: var(--slate-300); box-shadow: none; }
.security-panel.critical { background: #fff8e8; border-color: #ddc07c; }
.pre-line { white-space: pre-line; }
.status-dot { display: inline-block; width: .7rem; height: .7rem; margin-right: .45rem; background: #9a5f13; border-radius: 50%; box-shadow: 0 0 0 .2rem rgba(154,95,19,.11); }
.status-dot.is-ready,.status-dot.ready { background: #18704d; box-shadow: 0 0 0 .2rem rgba(24,112,77,.11); }

.identity-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: 1.25rem; }
.identity-status { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: .3rem .7rem; min-width: 0; padding: .9rem; color: var(--ink-950); background: #f5f8f8; border: 1px solid var(--slate-200); border-radius: var(--radius-sm); text-decoration: none; transition: transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.identity-status:hover { transform: translateY(-2px); border-color: var(--petrol-600); box-shadow: var(--shadow-sm); }
.identity-status .status-pill { grid-row: 1 / span 2; }
.identity-status strong,.identity-status small,.identity-status form { min-width: 0; overflow-wrap: anywhere; }
.identity-status small { color: var(--slate-600); }
.identity-status form { grid-column: 2; }
.identity-status.is-muted { opacity: .8; }

.member-credential { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.25rem; max-width: 800px; padding: clamp(1.25rem,3vw,2rem); overflow: hidden; color: var(--white); background: linear-gradient(135deg,var(--ink-950),#155767); border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.member-credential::after { content: "CN"; position: absolute; right: -1rem; bottom: -3.5rem; color: rgba(255,255,255,.05); font-family: var(--serif); font-size: 9rem; line-height: 1; }
.member-credential > * { position: relative; z-index: 1; }
.member-credential .brand-mark { width: 64px; height: 64px; color: var(--white); border-color: var(--gold-500); box-shadow: inset 0 0 0 4px var(--ink-950),inset 0 0 0 5px rgba(189,150,84,.55); }
.member-credential h3 { margin: .2rem 0; color: var(--white); font-family: var(--serif); font-size: clamp(1.5rem,3vw,2.25rem); font-weight: 400; }
.member-credential p { margin: 0 0 .35rem; color: rgba(255,255,255,.82); }
.member-credential .text-link { color: #f0d7aa; }

.credential-grid,.professional-grid,.search-results-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 1.25rem; }
.credential-card,.professional-card,.search-result-card,.verification-card { min-width: 0; padding: clamp(1rem,2.5vw,1.5rem); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); transition: transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
.credential-card:hover,.professional-card:hover,.search-result-card:hover { transform: translateY(-3px); border-color: #a9c7cb; box-shadow: var(--shadow-md); }
.credential-card h3,.professional-card h3,.search-result-card h2 { margin: .6rem 0 .45rem; font-family: var(--serif); font-size: clamp(1.35rem,2vw,1.75rem); font-weight: 400; }
.course-card { display: grid; align-content: start; gap: .65rem; }
.course-card h3 { margin: 0; }
.progress-line { height: .52rem; overflow: hidden; background: var(--slate-200); border-radius: var(--radius-pill); }
.progress-line span { display: block; height: 100%; background: linear-gradient(90deg,var(--petrol-600),var(--gold-500)); border-radius: inherit; transition: width .5s ease; }
.session-manager { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--slate-200); }
.session-manager > summary { cursor: pointer; color: var(--ink-950); font-weight: 800; }
.revision-upload { display: grid; gap: .8rem; margin-top: 1rem; padding: 1rem; background: var(--slate-100); border-radius: var(--radius-sm); }

.professional-card { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.profile-placeholder.small { display: grid; place-items: center; width: 58px; height: 58px; margin: 0; color: var(--white); background: var(--petrol-700); border-radius: 50%; font-family: var(--serif); font-size: 1.15rem; }
.professional-card p { margin: .3rem 0; overflow-wrap: anywhere; }
.verification-card { width: min(100%,820px); margin-inline: auto; border-top: 4px solid var(--petrol-600); }
.verification-card.is-invalid { border-top-color: #8a2929; }
.verification-card dl { display: grid; grid-template-columns: minmax(120px,.35fr) 1fr; gap: .65rem 1.25rem; margin: 1.25rem 0; }
.verification-card dl > div { display: contents; }
.verification-card dt { color: var(--slate-600); font-weight: 700; }
.verification-card dd { margin: 0; color: var(--ink-950); overflow-wrap: anywhere; }

.editorial-workbench { display: grid; gap: 1.25rem; }
.review-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.review-admin-card,.decision-record,.production-task { min-width: 0; padding: 1rem; background: #f7f9f9; border: 1px solid var(--slate-200); border-radius: var(--radius-sm); }
.review-admin-card { display: grid; align-content: start; gap: .65rem; }
.review-comments { margin: .75rem 0 0; padding: .85rem; white-space: pre-line; color: var(--slate-700); background: var(--white); border-left: 3px solid var(--petrol-600); }
.decision-record { border-left: 4px solid var(--gold-500); }
.production-task { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.production-task form { flex: 0 0 auto; }
.editorial-workbench details > summary,.admin-event-block > summary { color: var(--ink-950); font-weight: 760; }

.article-hero { min-height: auto; }
.article-hero h1 { max-width: 22ch; font-size: clamp(2.4rem,min(4.6vw,7.5vh),4.4rem); }
.article-identifiers { display: flex; flex-wrap: wrap; gap: .45rem .9rem; margin-top: 1rem; color: rgba(255,255,255,.82); font-size: .86rem; }
.article-identifiers a { color: #f0d7aa; }
.scholarly-article { background: #f8faf9; }
.article-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.32fr); gap: clamp(2rem,5vw,4.5rem); align-items: start; }
.article-main { min-width: 0; padding: clamp(1.25rem,3.5vw,2.5rem); background: var(--white); border: 1px solid var(--slate-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.article-main h2 { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid var(--slate-200); font-size: clamp(1.65rem,3vw,2.4rem); }
.article-main h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.article-authors,.references-list { display: grid; gap: .55rem; padding-left: 1.2rem; }
.article-authors li,.references-list li { overflow-wrap: anywhere; }
.translated-title { padding: 1rem 1.2rem; color: var(--ink-800); background: var(--slate-100); border-radius: var(--radius-sm); font-family: var(--serif); font-size: 1.2rem; }
.article-sidebar { position: sticky; top: calc(var(--header-height) + 1.5rem); display: grid; gap: 1rem; }
.article-sidebar .dashboard-card { margin: 0; }
.article-sidebar .btn { width: 100%; }

.archive-search,.global-search { padding: 1rem; background: var(--slate-100); border: 1px solid var(--slate-200); border-radius: var(--radius-md); }
.archive-search > div,.global-search > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .65rem; margin-top: .45rem; }
.search-result-card { color: var(--ink-950); text-decoration: none; }
.search-result-card p { color: var(--slate-600); }
.readiness-table td:first-child { color: var(--ink-950); font-weight: 740; }
.readiness-table code { overflow-wrap: anywhere; }
.notice code,.admin-section code { overflow-wrap: anywhere; word-break: break-word; }

@media (max-width: 980px) {
  .credential-grid,.professional-grid,.search-results-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .article-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .identity-grid,.review-admin-grid,.credential-grid,.professional-grid,.search-results-grid,.article-sidebar { grid-template-columns: 1fr; }
  .member-credential { grid-template-columns: 1fr; }
  .member-credential .brand-mark { width: 54px; height: 54px; }
  .professional-card { grid-template-columns: auto 1fr; }
  .verification-card dl { grid-template-columns: 1fr; gap: .15rem; }
  .verification-card dd { margin-bottom: .65rem; }
  .production-task { flex-direction: column; }
  .archive-search > div,.global-search > div { grid-template-columns: 1fr; }
  .archive-search .btn,.global-search .btn { width: 100%; }
  .article-main { padding: 1rem; }
}

@media (max-width: 420px) {
  .professional-card { grid-template-columns: 1fr; }
  .profile-placeholder.small { width: 48px; height: 48px; }
}
