/* ==========================================================================
   AMS v89.56 fix 65 - the Digital Library gets the AMS visual refresh
   ("Theme A": navy and gold), the same stylesheet rules as AMS
   assets/css/theme.css (fix 64) plus the few Library-only surfaces below.
   Loaded by includes/header.php AFTER ams-style.css and style.css. Colours,
   type and surfaces only - no markup, layout, text or position change; delete
   this file and every page is exactly as it was. Fonts: Inter Display,
   self-hosted Latin subsets in assets/fonts (SIL OFL 1.1, assets/fonts/OFL.txt).
   ========================================================================== */
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:500; font-display:swap; src:url('fonts/InterDisplay-Medium.woff2') format('woff2'); }
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/InterDisplay-SemiBold.woff2') format('woff2'); }
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/InterDisplay-Bold.woff2') format('woff2'); }
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:800; font-display:swap; src:url('fonts/InterDisplay-ExtraBold.woff2') format('woff2'); }
/* AMS visual refresh - colours, type, surfaces only. Same markup, same layout, same content. */
:root{
  --ink:#0F1E33; --ink-soft:#33445A; --navy:#0B2A4A; --navy-deep:#071326;
  --paper-bg:#F3F6FA; --border:#E1E8F0; --border-soft:#EDF2F7;
  --brand:#0B6BAB; --brand-dark:#095A90; --brand-soft:#EAF3FB;
  --gold-soft:#EAF3FB; --accent:#E0A83A; --accent-dark:#C99325; --accent-soft:#FFF6E4;
  --muted:#5B6B7F; --radius:10px;
  --shadow-card:0 1px 2px rgba(11,42,74,.04), 0 8px 24px rgba(11,42,74,.05);
  --shadow-hover:0 10px 30px rgba(11,42,74,.12);
}
body{ background:var(--paper-bg); background-image:none; color:#1E293B; }
h1,h2,h3,h4,.section-title{ font-family:'Inter Display','Inter',-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--navy); }
.section-title{ font-weight:800; letter-spacing:-.4px; }
h1.section-title, .page-wrap > .section-title:first-child{ font-size:1.9rem; }
.eyebrow{ color:var(--brand); letter-spacing:1.6px; font-weight:800; }
a{ color:var(--brand); }
/* chrome: one navy family top to bottom, gold as the accent line */
.topbar-utility{ background:var(--navy-deep); color:#9FB8D3; border-bottom:1px solid rgba(255,255,255,.06); }
.topbar-utility a{ color:#C3D5EA; }
.topbar-utility .role-pill{ border-color:rgba(224,168,58,.55); background:rgba(224,168,58,.12); color:#fff; }
.topbar{ background:
   linear-gradient(90deg, var(--accent), rgba(224,168,58,.35) 60%, rgba(224,168,58,0)) bottom left/100% 2px no-repeat,
   radial-gradient(700px 160px at 75% 0%, rgba(30,139,214,.35), transparent 70%),
   linear-gradient(90deg, #0B2A4A 0%, #0C3563 48%, #0B2A4A 100%);
   box-shadow:0 6px 18px rgba(7,19,38,.18); }
.topbar .brand .brand-sep{ background:var(--accent); opacity:.9; }
.topbar nav a{ color:rgba(255,255,255,.80); }
.topbar nav a:hover, .topbar nav a.active{ color:#fff; border-bottom-color:var(--accent); }
.topbar nav a.nav-cta{ background:rgba(255,255,255,.12) !important; border:1px solid rgba(255,255,255,.22) !important; border-radius:9px; color:#fff; }
.topbar .role-pill, .topbar nav .dropdown-toggle.active{ border-bottom-color:var(--accent) !important; }
/* surfaces */
.card{ border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-card); }
.card-header{ border-bottom-color:var(--border-soft); color:var(--navy); }
.icon-tile, .ws-glyph{ background:var(--brand-soft); color:var(--brand); border-radius:10px; }
.paper-code{ background:var(--brand-soft); border-color:#D4E6F6; color:var(--brand-dark); }
.muted{ color:var(--muted); }
/* buttons: solid blue for the main action, calm navy outline for the rest, gold reserved for invitations to join/pay */
.btn{ border-radius:10px; font-weight:700; letter-spacing:.1px; }
.btn-gold, .btn-primary{ background:var(--brand); border-color:var(--brand); color:#fff; box-shadow:0 1px 2px rgba(11,42,74,.15); }
.btn-gold:hover, .btn-primary:hover{ background:var(--brand-dark); border-color:var(--brand-dark); box-shadow:0 8px 20px rgba(11,107,171,.25); }
.btn-outline-ink{ color:var(--navy); border:1px solid #CBD8E6; background:#fff; }
.btn-outline-ink:hover{ background:var(--navy); border-color:var(--navy); color:#fff; }
.badge.bg-secondary{ background:#EEF2F7 !important; color:#475569; border:1px solid #E1E8F0; }
/* the Federation invitation becomes a navy band with a gold button */
.card[style*="gold-soft"]{ background:radial-gradient(500px 160px at 90% 0%, rgba(30,139,214,.45), transparent 60%), linear-gradient(160deg,#0B2A4A,#0A1D38) !important; border:0; color:#fff; }
.card[style*="gold-soft"] strong{ color:#fff; font-size:1.02rem; }
.card[style*="gold-soft"] .muted{ color:#BFD3E8 !important; }
.card[style*="gold-soft"] .btn-gold{ background:var(--accent); border-color:var(--accent); color:#1A1300; }
.card[style*="gold-soft"] .btn-gold:hover{ background:#EDB94F; border-color:#EDB94F; color:#1A1300; }
.card[style*="gold-soft"] :is(label,.form-label,h1,h2,h3,h4,h5,h6,b,.fw-bold,.fw-semibold){ color:#fff !important; } /* v89.56 fix 71: labels and headings readable on the dark card */
.card[style*="gold-soft"] :is(.form-text,.text-muted,small){ color:#BFD3E8 !important; }
.card[style*="gold-soft"] a:not(.btn){ color:#9FD3FF; }
/* workspaces */
.ws-group-title{ color:#64748B; letter-spacing:.12em; font-weight:800; }
.ws-group-count{ background:var(--brand-soft); color:var(--brand); }
.ws-card{ border-radius:14px; border-color:var(--border); padding:1.05rem 1.1rem 1.1rem; }
.ws-card:hover{ border-color:#9CC6E8; }
.ws-role{ color:#475569; letter-spacing:.06em; }
.ws-type-chip{ border-color:#D4E6F6; color:var(--brand); background:var(--brand-soft); }
.ws-venue{ color:var(--navy); font-size:1.02rem; }
/* footer: navy with a gold line */
footer.app-footer{ background:linear-gradient(180deg,#0A1F3B 0%, var(--navy-deep) 100%); border-top:3px solid var(--accent); }
.footer-links a{ color:#9FB2C8; }
.footer-links a:hover{ color:#fff; }
footer.app-footer .btn-gold{ background:var(--accent); border-color:var(--accent); color:#1A1300; }
.scroll-nav-btn{ background:var(--navy); }

/* ---- Theme A: app-wide additions (forms, tables, tabs, alerts, headings inside cards, page heroes) ---- */
.card h2,.card h3,.card h4,.card h5,.card-title,.card > .fw-bold:first-child{ font-family:'Inter Display','Inter',sans-serif; color:var(--navy); }
.card h3,.card h4,.card h5{ font-weight:700; letter-spacing:-.2px; }
.page-wrap > h1, .page-wrap h1.h3, .page-wrap h1.h4, #main-content > h1{ font-weight:800; letter-spacing:-.5px; }
/* forms */
.form-control,.form-select{ border-radius:10px; border-color:#D3DEEA; background-color:#fff; }
.form-control:focus,.form-select:focus{ border-color:var(--brand); box-shadow:0 0 0 3px rgba(11,107,171,.14); }
.form-control[readonly],.form-control:disabled{ background:#F1F5F9; }
.form-label{ color:var(--navy); }
.form-text{ color:var(--muted); }
.form-check-input:checked{ background-color:var(--brand); border-color:var(--brand); }
.input-group > .btn{ border-radius:0 10px 10px 0; }
fieldset legend{ font-family:'Inter Display','Inter',sans-serif; color:var(--navy); font-weight:700; }
/* tables */
.table{ --bs-table-hover-bg:#F5F9FD; color:#1E293B; }
.table > thead th, table thead th{ background:#F6F9FC; color:#5B6B7F; font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; font-weight:700; border-bottom:1px solid var(--border) !important; }
.table > :not(caption) > * > *{ border-bottom-color:var(--border-soft); }
.table-responsive, .card > .table, .card .table-responsive{ border-radius:14px; }
/* tabs and pills */
.nav-tabs{ border-bottom-color:var(--border); }
.nav-tabs .nav-link{ color:#5B6B7F; font-weight:600; border:0; border-bottom:2px solid transparent; }
.nav-tabs .nav-link:hover{ color:var(--navy); }
.nav-tabs .nav-link.active{ color:var(--navy); background:transparent; border-bottom:2px solid var(--accent); }
.nav-pills .nav-link{ color:#475569; font-weight:600; border-radius:9px; }
.nav-pills .nav-link.active{ background:var(--navy); color:#fff; }
.pagination .page-link{ color:var(--navy); border-color:var(--border); }
.pagination .page-item.active .page-link{ background:var(--navy); border-color:var(--navy); }
/* alerts and badges */
.alert{ border-radius:12px; border-width:1px; }
.alert-info{ background:#EEF6FC; border-color:#CFE3F4; color:#0B3D63; }
.alert-success{ background:#ECF8F2; border-color:#C8E9D7; color:#14532D; }
.alert-warning{ background:#FFF8EA; border-color:#F1D59C; color:#7A4A00; }
.alert-danger{ background:#FDF0F0; border-color:#F3CACA; color:#8A1C1C; }
.badge{ border-radius:999px; font-weight:700; letter-spacing:.02em; }
.badge.bg-success{ background:#E7F7EF !important; color:#17784F; }
.badge.bg-warning{ background:#FFF4DE !important; color:#8A5A07 !important; }
.badge.bg-danger{ background:#FDECEC !important; color:#B42318; }
.badge.bg-info{ background:var(--brand-soft) !important; color:var(--brand) !important; }
.badge.bg-primary{ background:var(--brand) !important; }
.btn-outline-danger{ border-radius:10px; }
.btn-success{ border-radius:10px; }
/* stat tiles / pipeline numbers */
.stat-num{ font-family:'Inter Display','Inter',sans-serif; color:var(--navy); font-weight:800; letter-spacing:-.5px; }
.stat-label{ color:#64748B; letter-spacing:.08em; }
/* dropdowns */
.dropdown-menu{ border:1px solid var(--border); border-radius:12px; box-shadow:0 18px 40px rgba(11,42,74,.14); padding:.4rem; }
.dropdown-item{ border-radius:8px; }
.dropdown-item:hover{ background:var(--brand-soft); color:var(--navy); }
/* back links and breadcrumbs */
a[href*="dashboard"] > svg + *, .back-link{ color:var(--brand); }

/* ---- Digital Library only ---- */
/* the header bar: the Library's own stylesheet adds a 3px blue bottom border that AMS does not have -
   remove it so only the gold line shows, exactly as on AMS (fix 66) */
.topbar{ border-bottom:3px solid transparent; background-origin:border-box; }
/* the light strip under the header: white, navy links, gold under the current one */
.pub-subbar{ background:#fff; border-bottom:1px solid var(--border); }
.pub-subbar a{ color:var(--navy); }
.pub-subbar a:hover{ color:var(--brand); text-decoration:none; }
.pub-subbar a.active{ color:var(--navy); box-shadow:inset 0 -2px 0 var(--accent); }
/* the Library banner (finder): navy over the same artwork, gold accents, the display face */
.dl-hero{ --gold:#F2C46B; background-image:linear-gradient(rgba(10,31,59,.62), rgba(7,19,38,.86)), url('img/hero-photo.svg') !important; border-bottom:1px solid rgba(224,168,58,.35); }
.dl-hero h1{ font-family:'Inter Display','Inter',sans-serif; font-weight:800 !important; letter-spacing:-1px; text-shadow:none !important; }
.dl-hero h1 em{ font-weight:600 !important; }
.dl-hero p{ color:#C3D5EA !important; text-shadow:none !important; }
.dl-hero .row > div > div:nth-child(2){ font-family:'Inter Display','Inter',sans-serif; text-shadow:none !important; }
/* article page: the publication history rule in gold, keyword chips and DOI in the brand tint */
.article-history{ border-left-color:var(--accent); }
.keyword-chip{ background:var(--brand-soft); color:var(--navy); border:1px solid #D4E6F6; }
.doi-link{ background:var(--brand-soft); color:var(--brand-dark); }
.article-sectionlabel{ color:var(--navy); }
.col-md-4 .card{ border-color:var(--border); }
.search-result-title{ color:var(--navy); }
.search-result-title:hover{ color:var(--brand); }
.chip-type{ background:var(--brand-soft); color:var(--brand); border-color:#D4E6F6; }
table.app-table th{ background:#F6F9FC; color:#5B6B7F; }
body.admin-flat{ background-color:var(--paper-bg); }
/* v89.56 fix 69: sticky panels sit just below the sticky header bar instead of under it */
:root{ --pub-sticky-top: 96px; }
@media (min-width: 768px){ .article-sidebar{ top: var(--pub-sticky-top); } }
.pub-sticky{ position: sticky; top: var(--pub-sticky-top); max-height: calc(100vh - var(--pub-sticky-top) - 1rem); overflow: auto; }
/* v89.56 fix 69: the article page - title, abstract and "published in" on light blue cards */
.article-card{ background:#EAF2FB; border:1px solid rgba(11,107,171,.22); border-radius:14px; padding:1.5rem; margin-bottom:1rem; box-shadow:none; }
.article-card > :last-child{ margin-bottom:0; }
.article-card .article-sectionlabel{ margin-top:0; }
