/* JAGP — stili OJS (base dai file originali index.html, estesi) */
*, *:before, *:after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --color-primary: #006798;
  --color-primary-hover: #0082bf;
  --color-attention: #d00a0a;
  --color-success: #00b24e;
  --color-negative: #d00a6c;
  --color-text: #222222;
  --color-text-secondary: #505050;
  --color-text-heading: #01354f;
  --color-text-disabled: #4e4f4f;
  --color-bg-default: #eaedee;
  --color-bg-secondary: #ffffff;
  --color-bg-tertiary: rgba(234, 237, 238, 0.3);
  --color-border-light: #bbbbbb;
  --color-border-dark: #696969;
  --radius: 4px;
  --shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  --font-sans: 'Noto Sans', ui-sans-serif, system-ui, sans-serif;
}

body {
  font-family: var(--font-sans);
  background: #f4f7fc;
  color: var(--color-text);
  line-height: 1.7;
  min-height: 100vh;
  padding: 0;
}

.container { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }

.app__header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 3.5rem;
  background: #002c40;
  color: #fff;
  padding: 0.35rem 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.app__contextTitle {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.app__contextTitle:hover { color: #fff; }

.app__headerRight {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.app__headerAction { display: flex; align-items: center; gap: 0.25rem; }
.app__headerAction a {
  padding: 0.5rem;
  color: #fff;
  text-decoration: none;
  transition: 0.2s;
  display: inline-block;
  font-size: 0.85rem;
}
.app__headerAction a:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 0.25rem #fff;
}

/* ---- ISSN block (top right) ---- */
.app__issn {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  background: #ffffff;
  padding: 0.28rem 0.5rem 0.2rem 0.5rem;
  border-radius: 3px;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
  min-width: 130px;
}
.app__issn .issn-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.18rem;
  font-family: 'Courier New', ui-monospace, monospace;
  color: #000;
}
.app__issn .issn-prefix {
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.app__issn .issn-number {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.app__issn .issn-barcode {
  display: block;
  width: 100%;
  height: 26px;
}

.pkp_navigation_primary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1.2rem;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-secondary);
  border-bottom: 1px solid var(--color-border-light);
  padding: 0.3rem 0.5rem;
  font-size: 0.8rem;
}
.pkp_navigation_primary a {
  color: var(--color-text-secondary);
  text-decoration: none;
  padding: 0.15rem 0;
  border-bottom: 2px solid transparent;
  transition: 0.2s;
}
.pkp_navigation_primary a:hover,
.pkp_navigation_primary a:focus {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}
.pkp_navigation_primary a.active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
  font-weight: 600;
}

.page { padding: 1.5rem 0; }
.page h1 {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-text-heading);
  margin-bottom: 1rem;
}

.homepage_image { margin-bottom: 1.5rem; text-align: center; }
.homepage_image img { max-width: 100%; height: auto; border-radius: var(--radius); box-shadow: var(--shadow); }

.current_issue {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border-light);
  border-left: 6px solid var(--color-primary);
  border-radius: var(--radius);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: var(--shadow);
}
.current_issue h2 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color-text-heading);
  margin-bottom: 0.3rem;
}
.current_issue .issue-subtitle {
  font-size: 0.9rem;
  color: var(--color-text-secondary);
  margin-bottom: 0.5rem;
}
.current_issue .issue-pages {
  font-size: 0.82rem;
  color: var(--color-text-secondary);
  font-style: italic;
  margin-bottom: 1rem;
}

.issue-cta {
  display: inline-block;
  padding: 0.55rem 1.4rem;
  background: var(--color-primary);
  color: #fff;
  border-radius: var(--radius);
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  margin-right: 0.5rem;
  margin-bottom: 0.4rem;
  transition: 0.2s;
}
.issue-cta:hover { background: var(--color-primary-hover); }
.issue-cta.secondary {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}
.issue-cta.secondary:hover {
  background: var(--color-primary);
  color: #fff;
}

.obj_article_summary {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--color-border-light);
}
.obj_article_summary:last-child { border-bottom: none; }
.obj_article_summary .title {
  font-size: 1rem;
  font-weight: 700;
}
.obj_article_summary .title a {
  color: var(--color-text);
  text-decoration: none;
}
.obj_article_summary .title a:hover {
  color: var(--color-primary);
  text-decoration: underline;
}
.obj_article_summary .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 1rem;
  font-size: 0.8rem;
  color: var(--color-text-secondary);
}
.obj_article_summary .authors { font-weight: 600; }
.obj_article_summary .galleys_links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.8rem;
  list-style: none;
  padding: 0;
  margin-top: 0.25rem;
}

.obj_galley_link {
  display: inline-block;
  padding: 0.15rem 0.8rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-primary);
  border: 1px solid var(--color-border-light);
  border-radius: 1.2rem;
  text-decoration: none;
  transition: 0.2s;
}
.obj_galley_link:hover {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}
.obj_galley_link.pdf { border-color: var(--color-primary); }

.read_more {
  display: inline-block;
  margin-top: 1rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: 0.2s;
}
.read_more:hover { border-bottom-color: var(--color-primary); }

.pkpBadge {
  display: inline-block;
  padding: 0.15rem 0.8rem;
  font-size: 0.7rem;
  font-weight: 600;
  line-height: 1.5rem;
  border: 1px solid var(--color-border-light);
  border-radius: 1.2rem;
  color: var(--color-text);
  background: var(--color-bg-secondary);
}

.pkpNotification {
  position: relative;
  padding: 0.75rem 1rem;
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius);
  box-shadow: inset 0.25rem 0 var(--color-primary);
  font-size: 0.875rem;
  line-height: 1.6em;
  margin-bottom: 1rem;
}
.pkpNotification--success {
  border-color: var(--color-success);
  box-shadow: inset 0.25rem 0 var(--color-success);
}
.pkpNotification--info {
  border-color: #e6b800;
  box-shadow: inset 0.25rem 0 #e6b800;
  background: #fffbea;
}

.editorial-info {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius);
  padding: 1.2rem 1.5rem;
  margin-bottom: 1.5rem;
}
.editorial-info h2 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-text-heading);
  margin-bottom: 0.6rem;
}
.editorial-info p {
  font-size: 0.88rem;
  color: var(--color-text-secondary);
  margin-bottom: 0.5rem;
}
.editorial-info ul {
  list-style: none;
  padding-left: 0;
  font-size: 0.88rem;
  color: var(--color-text-secondary);
}
.editorial-info ul li {
  padding: 0.15rem 0 0.15rem 1.2rem;
  position: relative;
}
.editorial-info ul li:before {
  content: "›";
  position: absolute;
  left: 0.3rem;
  color: var(--color-primary);
  font-weight: 700;
}
.editorial-info ul li a {
  color: var(--color-primary);
  text-decoration: none;
}
.editorial-info ul li a:hover { text-decoration: underline; }

.app__footer {
  background: var(--color-text-heading);
  color: rgba(255, 255, 255, 0.7);
  padding: 2rem 0;
  margin-top: 2rem;
  border-top: 4px solid var(--color-primary);
}
.app__footer a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}
.app__footer a:hover {
  color: #fff;
  text-decoration: underline;
}
.app__footer .footer-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.85rem;
}
.app__footer .colophon {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.3);
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  line-height: 1.6;
}
.app__footer .colophon strong { color: rgba(255, 255, 255, 0.4); }

@media (max-width: 768px) {
  .app__header { flex-wrap: wrap; min-height: auto; padding: 0.5rem 1rem; gap: 0.5rem; }
  .app__contextTitle { font-size: 0.95rem; }
  .app__headerRight { gap: 0.5rem; flex-wrap: wrap; }
  .app__issn { min-width: 110px; padding: 0.2rem 0.4rem 0.15rem 0.4rem; }
  .app__issn .issn-barcode { height: 22px; }
  .pkp_navigation_primary { gap: 0.2rem 0.8rem; font-size: 0.8rem; padding: 0.3rem 0.5rem; }
  .page h1 { font-size: 1.4rem; }
  .current_issue { padding: 1rem; }
}
@media (max-width: 480px) {
  .container { padding: 0 0.5rem; }
  .app__contextTitle { font-size: 0.85rem; padding: 0.25rem; }
  .app__headerAction a { padding: 0.3rem; font-size: 0.75rem; }
  .app__issn { min-width: 100px; }
  .app__issn .issn-barcode { height: 20px; }
  .page { padding: 1rem 0; }
}

/* =========================================================
   Estensioni (stesso linguaggio visivo OJS) — rev. 2026-10
   ========================================================= */
html { -webkit-text-size-adjust: 100%; }
a { color: var(--color-primary); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #7fc4e6; outline-offset: 2px;
}
.skip-link { position: absolute; left: -999px; top: 0; background: #fff; color: var(--color-primary); padding: .5rem 1rem; z-index: 200; }
.skip-link:focus { left: 0; }

.app__contextTitle small { font-weight: 400; opacity: .75; font-size: .75rem; margin-left: .35rem; }
.app__headerAction button.linklike {
  background: none; border: 0; color: #fff; cursor: pointer; font: inherit; font-size: .85rem; padding: .5rem; transition: .2s;
}
.app__headerAction button.linklike:hover { transform: translateY(-0.25rem); box-shadow: 0 0.25rem #fff; }
.app__issn .issn-barcode { width: 100%; height: 26px; }

.breadcrumb { font-size: .8rem; color: var(--color-text-secondary); margin-bottom: 1rem; }
.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span.sep { margin: 0 .4rem; color: var(--color-border-dark); }

.page h2 { font-size: 1.3rem; color: var(--color-text-heading); margin: 1.5rem 0 .6rem; }
.page h3 { font-size: 1.05rem; color: var(--color-text-heading); margin: 1.1rem 0 .4rem; }
.page p { margin-bottom: .7rem; }
.page ul.plain, .page ol.plain { padding-left: 1.4rem; margin-bottom: .8rem; }
.page ul.plain li, .page ol.plain li { margin-bottom: .25rem; }
.lead { font-size: 1.05rem; color: var(--color-text-secondary); }
.meta-line { font-size: .88rem; color: var(--color-text-secondary); }
.muted { color: var(--color-text-secondary); }
.small { font-size: .82rem; }

.home_grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 1.5rem; align-items: start; }
.sidebar .block {
  background: var(--color-bg-secondary); border: 1px solid var(--color-border-light); border-radius: var(--radius);
  padding: 1rem 1.1rem; margin-bottom: 1rem;
}
.sidebar .block h2 { font-size: .95rem; margin: 0 0 .6rem; }
.sidebar ul { list-style: none; font-size: .88rem; }
.sidebar li { padding: .2rem 0; }
.sidebar .barcode-big { display: block; width: 100%; height: auto; max-width: 240px; margin: .3rem auto 0; }
.sidebar form.searchbox { display: flex; gap: .4rem; }
.sidebar form.searchbox input { flex: 1; min-width: 0; }

.issue_section h3 {
  font-size: .8rem; letter-spacing: .02em; text-transform: none; color: var(--color-text-secondary);
  border-bottom: 2px solid var(--color-primary); padding-bottom: .25rem; margin: 1.2rem 0 .4rem;
}
.obj_article_summary .artnum { font-size: .75rem; color: var(--color-text-secondary); }
.obj_article_summary .title { font-size: 1rem; }

.article_header h1 { font-size: 1.55rem; line-height: 1.3; margin-bottom: .6rem; }
.article_header .authors-list { font-size: 1rem; font-weight: 600; margin-bottom: .2rem; }
.article_header .authors-list a.orcid { text-decoration: none; font-size: .75rem; margin-left: .25rem; color: #a6ce39; font-weight: 700; }
.article_grid { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 1.5rem; align-items: start; }
.item { background: var(--color-bg-secondary); border: 1px solid var(--color-border-light); border-radius: var(--radius); padding: 1rem 1.2rem; margin-bottom: 1rem; }
.item h2 { font-size: 1rem; margin: 0 0 .5rem; }
dl.ids { display: grid; grid-template-columns: auto 1fr; gap: .25rem .8rem; font-size: .86rem; }
dl.ids dt { color: var(--color-text-secondary); font-weight: 600; }
dl.ids dd { overflow-wrap: anywhere; }
.keywords { display: flex; flex-wrap: wrap; gap: .3rem .5rem; list-style: none; }
.cite-box { width: 100%; min-height: 7rem; font: .78rem/1.5 'Courier New', ui-monospace, monospace; padding: .6rem; border: 1px solid var(--color-border-light); border-radius: var(--radius); background: #fafbfb; resize: vertical; }
.btn-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; }

button, .btn {
  display: inline-block; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; text-decoration: none; text-align: center;
  padding: .45rem 1.1rem; border-radius: var(--radius); border: 1px solid var(--color-primary);
  background: var(--color-primary); color: #fff; transition: .2s;
}
button:hover, .btn:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
button.secondary, .btn.secondary { background: transparent; color: var(--color-primary); }
button.secondary:hover, .btn.secondary:hover { background: var(--color-primary); color: #fff; }
button.danger { background: var(--color-attention); border-color: var(--color-attention); }
button.small, .btn.small { padding: .2rem .7rem; font-size: .78rem; }
button[disabled] { opacity: .55; cursor: not-allowed; }

form.pkp_form .row { margin-bottom: 1rem; }
form.pkp_form label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: .25rem; color: var(--color-text-heading); }
form.pkp_form .hint { font-size: .78rem; color: var(--color-text-secondary); margin-top: .2rem; font-weight: 400; }
input[type=text], input[type=email], input[type=password], input[type=search], input[type=number], select, textarea {
  width: 100%; font: inherit; font-size: .92rem; padding: .5rem .65rem; border: 1px solid var(--color-border-dark);
  border-radius: var(--radius); background: #fff; color: var(--color-text);
}
textarea { min-height: 9rem; resize: vertical; line-height: 1.55; }
input[type=file] { font-size: .88rem; }
.checkline { display: flex; gap: .55rem; align-items: flex-start; font-size: .86rem; margin-bottom: .6rem; }
.checkline input { margin-top: .3rem; }
.counter { font-size: .75rem; color: var(--color-text-secondary); text-align: right; }
.counter.bad { color: var(--color-attention); }

.card-narrow { max-width: 520px; margin: 0 auto; }
.tabs { display: flex; gap: .2rem; border-bottom: 1px solid var(--color-border-light); margin-bottom: 1.2rem; }
.tabs button {
  background: none; color: var(--color-text-secondary); border: 0; border-bottom: 3px solid transparent; border-radius: 0; padding: .55rem 1rem;
}
.tabs button[aria-selected=true] { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.tabs button:hover { background: none; color: var(--color-primary); }

.pkpNotification--error { border-color: var(--color-attention); box-shadow: inset 0.25rem 0 var(--color-attention); background: #fff6f6; }
.pkpNotification[hidden] { display: none; }

table.pkp_table { width: 100%; border-collapse: collapse; font-size: .86rem; background: #fff; }
table.pkp_table th, table.pkp_table td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--color-border-light); vertical-align: top; }
table.pkp_table th { font-size: .78rem; color: var(--color-text-secondary); background: var(--color-bg-default); font-weight: 700; }
.table-wrap { overflow-x: auto; border: 1px solid var(--color-border-light); border-radius: var(--radius); margin-bottom: 1rem; }
.mono { font-family: 'Courier New', ui-monospace, monospace; font-size: .82rem; }

.status { display: inline-block; font-size: .72rem; font-weight: 700; padding: .05rem .6rem; border-radius: 1.2rem; border: 1px solid currentColor; white-space: nowrap; }
.status.submitted { color: #6a4a00; background: #fffbea; }
.status.under_review { color: #004a6e; background: #e8f4fa; }
.status.revision_requested { color: #8a4b00; background: #fff1e0; }
.status.accepted { color: #00663a; background: #e6f7ee; }
.status.published { color: #fff; background: var(--color-success); border-color: var(--color-success); }
.status.rejected { color: #8a0a0a; background: #fdeaea; }
.status.withdrawn { color: #555; background: #eee; }
.status.draft { color: #555; background: #fff; }

.dash_tools { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; align-items: center; }
.dash_tools select { width: auto; }
.stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: .6rem; margin-bottom: 1rem; }
.stat { background: #fff; border: 1px solid var(--color-border-light); border-radius: var(--radius); padding: .6rem .8rem; }
.stat b { display: block; font-size: 1.35rem; color: var(--color-text-heading); line-height: 1.2; }
.stat span { font-size: .75rem; color: var(--color-text-secondary); }
.sub_card { background: #fff; border: 1px solid var(--color-border-light); border-left: 4px solid var(--color-primary); border-radius: var(--radius); padding: .9rem 1.1rem; margin-bottom: .8rem; }
.sub_card h3 { margin: 0 0 .25rem; font-size: .98rem; }
.sub_card .actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; align-items: center; }
.sub_card .note { font-size: .84rem; background: #fffbea; border: 1px solid #e6b800; border-radius: var(--radius); padding: .4rem .7rem; margin-top: .5rem; }
.sub_card details { margin-top: .6rem; }
.sub_card summary { cursor: pointer; font-size: .85rem; font-weight: 600; color: var(--color-primary); }
.sub_card .editform { margin-top: .6rem; }

.registry-retired td, .registry-retired th { color: var(--color-text-secondary); }
.tombstone { border-left: 6px solid var(--color-border-dark); }

.app__footer .footer-row a { white-space: nowrap; }
@media (max-width: 900px) {
  .home_grid, .article_grid { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
@media print {
  .app__header, .pkp_navigation_primary, .app__footer, .sidebar, .btn-row { display: none !important; }
  body { background: #fff; }
}

/* l'attributo hidden deve vincere su qualsiasi display impostato dalle classi */
[hidden] { display: none !important; }

/* Identificativi degli autori (ORCID, ROR) nel modulo di invio e nel pannello */
.idrow { border: 1px solid var(--color-border-light); border-radius: var(--radius); padding: .6rem .7rem; margin-bottom: .6rem; background: var(--color-bg-tertiary); display: grid; gap: .35rem; }
.idrow strong { font-size: .88rem; color: var(--color-text-heading); }
.idrow button { justify-self: start; }
.idstate { font-size: .75rem; color: var(--color-text-secondary); min-height: 1em; }
.idstate.bad { color: var(--color-attention); }
.aff { color: var(--color-text-secondary); font-size: .92em; }

/* Collegamento ORCID */
.orcidbox { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; border: 1px solid var(--color-border-light); border-left: 4px solid #a6ce39; border-radius: var(--radius); padding: .6rem .8rem; margin-bottom: 1rem; background: var(--color-bg-tertiary); font-size: .9rem; }
.orcidbox[hidden] { display: none; }
.article_header .authors-list a.orcid.ok, a.orcid.ok { color: #5a7d00; }

/* Verifica dei riferimenti */
.refcheck { margin-top: .5rem; }
.refcheck .rc-checks { margin: .3rem 0 .6rem 1rem; padding: 0; font-size: .85rem; }
.refcheck .rc-checks .lvl-warn::marker { color: #b45309; }
.refcheck .rc-checks .lvl-ok::marker { color: #15803d; }
.rc-pill { display: inline-block; font-size: .72rem; font-weight: 600; padding: .05rem .5rem; border-radius: 999px; border: 1px solid var(--color-border-light); white-space: nowrap; background: var(--color-bg-tertiary); }
.rc-pill.rc-ok { color: #166534; border-color: #86efac; background: #f0fdf4; }
.rc-pill.rc-warn { color: #92400e; border-color: #fcd34d; background: #fffbeb; }
.rc-pill.rc-bad { color: #991b1b; border-color: #fca5a5; background: #fef2f2; }
.rc-text { font-size: .85rem; overflow-wrap: anywhere; }
.refcheck .rc-ai { white-space: pre-wrap; font-size: .85rem; margin-top: .3rem; }
ol.refs { padding-left: 1.4rem; font-size: .88rem; }
ol.refs li { margin-bottom: .35rem; overflow-wrap: anywhere; }

/* ── pagine di policy ── */
table.data { width: 100%; border-collapse: collapse; margin: .8rem 0 1.2rem; font-size: .88rem; }
table.data th, table.data td { border: 1px solid var(--color-border-light); padding: .45rem .6rem; vertical-align: top; text-align: left; }
table.data thead th { background: #eaedee; color: var(--color-text-heading); }
.langsep { border: 0; border-top: 2px solid var(--color-border-light); margin: 2.5rem 0 1.5rem; }
@media (max-width: 640px) { table.data, table.data thead, table.data tbody, table.data tr, table.data th, table.data td { display: block; width: 100%; } table.data thead { display: none; } table.data tr { margin-bottom: .8rem; border: 1px solid var(--color-border-light); } table.data td { border: 0; border-bottom: 1px solid #ddd; } }

/* ── controllo referee, costellazione, confutazioni, domande del professore ── */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dropzone{border:2px dashed var(--color-border,#b8c4cc);border-radius:10px;padding:1.6rem 1rem;text-align:center;background:var(--color-bg-alt,#f4f8fb);margin:1rem 0}
.dropzone.over{border-color:var(--color-primary,#006798);background:#e6f2f9}
.dropzone input[type=file]{display:block;margin:.6rem auto}
.prog-box{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.6rem 0}
.prog-box progress{flex:1 1 200px;max-width:420px;height:.9rem}
.rc-head h2{margin-top:0}
.rc-tiles{display:flex;gap:.6rem;flex-wrap:wrap;margin:.6rem 0 1rem}
.rc-tile{flex:1 1 110px;border-radius:8px;padding:.6rem .8rem;border:1px solid var(--color-border,#cfd8dd);text-align:center;background:#fff}
.rc-tile strong{display:block;font-size:1.7rem;line-height:1.1}
.rc-tile.rc-ok{border-color:#2e7d32}.rc-tile.rc-bad{border-color:#c62828}.rc-tile.rc-warn{border-color:#ef8f00}
.const-wrap{position:relative;border-radius:12px;overflow:hidden;background:#07131d;margin:1rem 0}
.const-wrap canvas{display:block;width:100%;touch-action:none;cursor:grab}
.const-wrap canvas:focus-visible{outline:3px solid #ffd479;outline-offset:-3px}
.const-tip{position:absolute;pointer-events:none;background:rgba(0,0,0,.82);color:#fff;font-size:.8rem;padding:.3rem .5rem;border-radius:6px;max-width:260px}
.const-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;list-style:none;padding:0;margin:.6rem 0}
.const-legend .dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;margin-right:.3rem;vertical-align:-1px}
.d-article{background:#ffd479}.d-rebuttal{background:#ff6b5e}.d-reply{background:#ff9f45}.d-kw{background:#6cb4ff}.d-ref{background:#fff;border:1px solid #999}.d-halo{background:#bbb;width:.35rem!important;height:.35rem!important}
.resp ul{margin:.2rem 0 .2rem 1rem}
.qa-q{border:1px solid var(--color-border,#cfd8dd);border-radius:8px;padding:.7rem .9rem;margin:.6rem 0;background:#fff}
.qa-q h3{font-size:1rem;margin:0 0 .3rem}
.qa-q .qa-kind{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#5a6b75}
.qa-a{border-left:3px solid var(--color-primary,#006798);padding-left:.7rem;margin-top:.5rem;white-space:pre-wrap}
.qa-open{color:#5a6b75;font-style:italic}
@media print{.pw,.pw-pill,.dropzone,#privacyNote,.btn-row{display:none!important}}

/* ── 10.8.0: rivista autonoma (diretta, stato, numeri, revisore, blocchi dell'articolo, pannello redazione) ── */
.ok{color:#166534}.bad{color:var(--color-attention,#d00a0a)}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;vertical-align:-1px;background:#9aa7ae}
.dot.on{background:#22a35a;box-shadow:0 0 0 3px rgba(34,163,90,.2)}.dot.off{background:#c9a227}
.beat{margin:.4rem 0 1rem}
.pipeline{display:flex;flex-wrap:wrap;align-items:stretch;gap:.4rem;margin:.8rem 0}
.pipeline .stage{flex:1 1 110px;min-width:96px;text-align:center;border:1px solid var(--color-border-light);border-radius:10px;padding:.6rem .4rem;background:#fff}
.pipeline .stage.has{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(0,103,152,.12)}
.pipeline .n{font-size:1.8rem;font-weight:700;line-height:1.1;color:var(--color-text-heading)}
.pipeline .l{font-size:.78rem;color:var(--color-text-secondary)}
.pipeline .arrow{align-self:center;color:var(--color-text-secondary)}
.pipe-side{display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;list-style:none;padding:0;margin:.2rem 0 1rem}
.live-feed{list-style:none;padding:0;margin:.5rem 0}
.live-item{border-left:4px solid var(--color-primary);background:#fff;padding:.45rem .7rem;margin:.35rem 0;border-radius:0 8px 8px 0;font-size:.9rem;overflow-wrap:anywhere}
.live-item.human{border-left-color:#7a3db8;background:#faf6ff}
.live-item time{font-size:.76rem;color:var(--color-text-secondary);margin-right:.3rem}
.tag{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.05rem .45rem;border-radius:999px;border:1px solid}
.tag-b{color:#0b5e86;border-color:#9fd0e6;background:#eef8fd}.tag-h{color:#5b2a8c;border-color:#cfb1ec;background:#f4eafd}
.tile{flex:1 1 130px;border-radius:8px;padding:.6rem .8rem;border:1px solid var(--color-border-light);text-align:center;background:#fff}
.tile .n{display:block;font-size:1.7rem;font-weight:700;line-height:1.1}.tile .l{font-size:.78rem;color:var(--color-text-secondary)}
.tile.ok{border-color:#2e7d32}.tile.bad{border-color:#c62828}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.issue-box h2 .pkpBadge{font-size:.72rem;vertical-align:middle}
.editorial p{margin:.4rem 0}
.editor-note{border-left:4px solid #7a3db8;margin:.8rem 0;padding:.2rem .9rem;background:#faf6ff}
.toc-list{padding-left:1.1rem}.toc-list li{margin:.35rem 0}
table.claims td,table.claims th{white-space:normal;overflow-wrap:anywhere}
td.res.ok{color:#166534;font-weight:600}td.res.bad{color:var(--color-attention);font-weight:600}
pre.claims-src{background:#f4f8fb;border:1px solid var(--color-border-light);border-radius:8px;padding:.6rem .8rem;overflow-x:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.82rem}
.sha{overflow-wrap:anywhere;word-break:break-all}
.askform{display:flex;gap:.5rem;margin:.6rem 0}.askform input{flex:1;min-width:0}
.ask-q{margin:.6rem 0;padding:.5rem .9rem;border-left:4px solid var(--color-primary);background:#fff}
.ask-hit{margin:.2rem 0;overflow-wrap:anywhere}
.ask-hit mark{background:#fff0a8;padding:0 .1rem}
.rv{border:1px solid var(--color-border-light);border-radius:8px;padding:.6rem .8rem;margin:.6rem 0;background:#fff}
.rv-r{display:flex;flex-wrap:wrap;gap:.2rem 1rem;list-style:none;padding:0;margin:.3rem 0}
.rv-avg{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;list-style:none;padding:0;margin:.3rem 0}
.stars{color:#b45309;letter-spacing:.05em}
.rv-form{margin-top:1rem}
.ref-row{border:1px solid var(--color-border-light);border-radius:8px;padding:.5rem .7rem;margin:.4rem 0;background:#fff}
.ref-row .rep{margin-top:.4rem;padding:.4rem .6rem;background:#f4f8fb;border-radius:6px}
details.dossier{margin:.6rem 0}
details.dossier h4{margin:.8rem 0 .3rem}
@media (max-width:640px){.pipeline .arrow{display:none}.askform{flex-direction:column}}
/* 10.9.0: identificativi, revisione dal vivo, capsule, Radar, Lente */
table.ids td{vertical-align:top;overflow-wrap:anywhere}
td.st{font-weight:600;white-space:nowrap}
td.st-permanent{color:#166534}td.st-experimental{color:#92400e}td.st-pending{color:#475569}td.st-detected{color:#0b5e86}td.st-verifiable{color:#166534}
.lr-card{border:1px solid var(--color-border-light);border-radius:8px;padding:.7rem .9rem;margin:.7rem 0;background:#fff}
.lr-card textarea{width:100%;box-sizing:border-box}
.lr-q{margin:.4rem 0;font-size:1.05rem}
.lr-level{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--color-border-light)}
.lr-high{background:#f0fdf4;border-color:#86efac}.lr-mid{background:#fffbeb;border-color:#fcd34d}.lr-low{background:#fef2f2;border-color:#fca5a5}
.lr-obj{border-left:4px solid #7a3db8;background:#faf6ff;padding:.35rem .7rem;margin:.6rem 0}
.cap{border:1px solid var(--color-border-light);border-radius:8px;padding:.6rem .8rem;margin:.6rem 0;background:#fff}
.cap-form textarea{width:100%;box-sizing:border-box}
.lente-steps li{margin:.4rem 0}
/* 10.11.0: pagina di invio a sezioni, formule LaTeX, figure */
.zsub-grid{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:1.4rem;align-items:start}
.zsec{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius);padding:1rem 1.2rem .4rem;margin-bottom:1.1rem}
.zsec>h2{font-size:1.05rem;color:var(--color-text-heading);margin:0 0 .8rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-border-light)}
.zsub-side{position:sticky;top:4.5rem}
.zsub-panel h2{font-size:1rem}
.zsub-panel button#goBtn{width:100%;margin-top:.5rem}
.checklist{list-style:none;margin:.2rem 0 .8rem;padding:0;font-size:.86rem}
.checklist li{padding:.15rem 0 .15rem 1.5rem;position:relative;color:var(--color-text-secondary)}
.checklist li::before{content:"○";position:absolute;left:.2rem;color:var(--color-border-dark)}
.checklist li.done{color:var(--color-text)}
.checklist li.done::before{content:"✓";color:#166534;font-weight:700}
span.lbl{display:block;font-weight:600;margin-bottom:.3rem}
.texprev{margin-top:.4rem;padding:.5rem .7rem;background:#f4f8fb;border:1px solid var(--color-border-light);border-radius:6px;overflow-x:auto;overflow-wrap:anywhere}
.texprev-block{white-space:pre-wrap}
code.tex-bad{background:#fef2f2;color:var(--color-attention);padding:0 .2rem;border-radius:3px;white-space:pre-wrap}
.katex{font-size:1.05em}
[data-tex].tex-done .katex-display{margin:.6em 0}
.imgdrop{border:2px dashed var(--color-border-dark);border-radius:var(--radius);padding:1.1rem;text-align:center;background:#fafcfd;cursor:pointer}
.imgdrop:hover,.imgdrop:focus-visible,.imgdrop.over{border-color:var(--color-primary);background:#eef7fb;outline:none}
.imgdrop .linklike{color:var(--color-primary);text-decoration:underline}
.imgrow{display:flex;gap:.8rem;align-items:flex-start;border:1px solid var(--color-border-light);border-radius:6px;padding:.6rem;margin:.6rem 0;background:#fff}
.imgthumb{object-fit:cover;border:1px solid var(--color-border-light);border-radius:4px;flex:none;background:#eee}
.imgfields{flex:1;min-width:0}
.imgfields textarea,.imgfields input[type=text],.imgfields select{width:100%;margin:.25rem 0}
.imgdecl{margin-top:.6rem}
figure.fig{margin:1rem 0}
figure.fig img,img.figimg{max-width:100%;height:auto;border:1px solid var(--color-border-light);border-radius:4px;background:#fff}
figure.fig figcaption{margin-top:.3rem;color:var(--color-text-secondary)}
.route-note{border-left:4px solid #92400e;background:#fffbeb;padding:.45rem .8rem;margin:.6rem 0;font-size:.88rem}
.orcid-note{margin-top:1rem}
@media (max-width:900px){.zsub-grid{grid-template-columns:1fr}.zsub-side{position:static}}
@media (prefers-reduced-motion:no-preference){.imgdrop{transition:border-color .15s,background .15s}}
