/* Contig Editorial Portal (internal system) styles.
   Bootstrap-first; keep overrides minimal.
   This file complements assets/css/custom.css used by the public journal site.
*/
    :root{
      --contig-primary:#0d6efd;
      --contig-bg:#f8f9fa;
      --contig-border:#e9ecef;
      --contig-muted:#6c757d;
      --contig-ink:#0f172a;
    }
    body{ background: #fff; color: var(--contig-ink); }
    .article-shell{ max-width: 1140px; }
    .hero{
      background: radial-gradient(1200px 400px at 10% -10%, rgba(13,110,253,.12), transparent 55%),
                  radial-gradient(900px 400px at 90% 0%, rgba(13,110,253,.10), transparent 60%),
                  linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
      border: 1px solid var(--contig-border);
      border-radius: 1.25rem;
      padding: 1.6rem 1.6rem 1.25rem 1.6rem;
    }
    .article-id{
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-size: .78rem;
      color: var(--contig-muted);
    }
    .article-title{
      font-weight: 800;
      letter-spacing: -0.02em;
      line-height: 1.12;
      font-size: clamp(1.7rem, 3.2vw, 2.35rem);
      margin: .35rem 0 .25rem 0;
    }
    .article-subtitle{ color: var(--contig-muted); max-width: 85ch; }
    .pill{
      display:inline-flex; align-items:center; gap:.45rem;
      padding: .28rem .7rem;
      border-radius: 999px;
      border: 1px solid var(--contig-border);
      background: #fff;
      font-size: .86rem;
      color: #212529;
      margin: .25rem .35rem 0 0;
      white-space: nowrap;
    }
    .meta-grid{
      display:grid;
      grid-template-columns: 1fr;
      gap: .55rem;
      margin-top: 1rem;
    }
    @media (min-width: 992px){
      .meta-grid{ grid-template-columns: 1fr 1fr; gap: .65rem 1.25rem; }
    }
    .meta-item{
      border: 1px solid var(--contig-border);
      background: #fff;
      border-radius: .95rem;
      padding: .9rem 1rem;
    }
    .meta-k{ color: var(--contig-muted); font-size: .86rem; margin-bottom: .15rem; }
    .meta-v{ font-size: .98rem; }
    .meta-v strong{ font-weight: 700; }
    .toc-card{
      border: 1px solid var(--contig-border);
      background: #fff;
      border-radius: 1.1rem;
      box-shadow: 0 .25rem .9rem rgba(15, 23, 42, .04);
    }
    .toc-card a{ text-decoration: none; }
    .toc-card a:hover{ text-decoration: underline; }
    .toc-card .list-group-item{
      border: 0;
      padding: .55rem .85rem;
      border-radius: .75rem;
    }
    .toc-card .list-group-item:hover{ background: #f6f8ff; }
    .section-title{
      margin-top: 2.2rem;
      padding-top: 1.15rem;
      border-top: 1px solid var(--contig-border);
      font-weight: 800;
      letter-spacing: -0.01em;
    }
    .abstract-box{
      background: var(--contig-bg);
      border: 1px solid var(--contig-border);
      border-left: 5px solid var(--contig-primary);
      border-radius: 1.05rem;
      padding: 1.15rem 1.25rem;
    }
    .kw span{
      display:inline-block;
      padding:.18rem .6rem;
      border-radius:999px;
      border:1px solid var(--contig-border);
      background:#fff;
      margin:.2rem .35rem 0 0;
      font-size:.86rem;
    }
    .figure-box{
      border: 1px solid var(--contig-border);
      border-radius: 1.05rem;
      background: #fff;
      padding: 1.05rem 1.15rem;
    }
    .figure-box img{ width: 100%; max-height: 560px; object-fit: contain; border-radius: .85rem; }
    .caption{ color: var(--contig-muted); font-size: .93rem; line-height: 1.45; }
    .callout{
      border: 1px solid var(--contig-border);
      background: linear-gradient(180deg, #ffffff 0%, #fbfbfc 100%);
      border-radius: 1.05rem;
      padding: 1.05rem 1.15rem;
    }
    p{ line-height: 1.7; }
    .footer-note{
      color: var(--contig-muted);
      border-top: 1px solid var(--contig-border);
      margin-top: 3rem;
      padding-top: 1.1rem;
      font-size: .92rem;
    }
    @media print{
      .no-print{ display:none !important; }
      a{ color:#000; text-decoration:none; }
      .article-shell{ max-width: none; }
      .hero, .meta-item, .toc-card{ box-shadow:none !important; }
    }

    .view-counter {
        display: inline-flex;
        align-items: center;
        gap: 18px;
        padding: 10px 20px;
        background: #fff;
        border: 1px solid #e8ecf1;
        border-radius: 10px;
        font-size: 14px;
        color: #666;
        margin: 16px 0;
        box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    }
    .view-counter .stat { display: flex; align-items: center; gap: 6px; }
    .view-counter .number { font-weight: 700; font-size: 18px; color: #1a1a2e; }
    .view-counter svg { width: 18px; height: 18px; color: #888; }
    .view-counter .divider { width: 1px; height: 24px; background: #e0e0e0; }
 
