/* e-İmza doğrulama raporu (gece2 eimza, 2026-10-23; templates/esign_verify.html, js/local/esv-page.js). KİNETİK dili:
   0 / 2 px köşe, 1 px çizgi, sert mürekkep gölgesi; ayrıntı üstüne gelince / dokununca (details). Durum renkleri yalnız
   ince bir şerit ve küçük bir etikette: sağlam = --ok, bozulmuş = --signal-strong, eksik / denetlenemedi = mürekkep. */
/* rapor geniş: büyük sayının (imza adedi) yanında değil, altında tam genişlikte */
.lbox:has(.esv) { grid-column: 1 / -1; grid-row: 4; align-self: start; margin-top: 18px; }
@media (max-width: 719.98px) { .lbox:has(.esv) { grid-row: auto; margin-top: 14px; } }
.esv { display: grid; gap: 14px; min-width: 0; text-align: start; }

/* hüküm */
.esv-verdict { position: relative; padding: 14px 16px 12px 20px; border: 1px solid var(--ink); border-radius: var(--r-1); background: var(--paper); box-shadow: 3px 3px 0 var(--ink); }
.esv-verdict::before { content: ""; position: absolute; inset-block: -1px; inset-inline-start: -1px; width: 6px; background: var(--ink-3); border-radius: var(--r-1) 0 0 var(--r-1); }
.esv-verdict--ok::before { background: var(--ok); }
.esv-verdict--partial::before { background: linear-gradient(var(--ok) 50%, var(--signal) 50%); }
.esv-verdict--bad::before { background: var(--signal-strong); }
.esv-verdict__h { margin: 0; font: 700 clamp(22px, 3.2vw, 30px)/1.1 var(--f-wide, inherit); letter-spacing: -.01em; color: var(--ink); }
.esv-verdict--ok .esv-verdict__h { color: var(--ok); }
.esv-verdict--bad .esv-verdict__h { color: var(--signal-strong); }
.esv-verdict__p { margin: 6px 0 0; font-size: 15.5px; line-height: 1.45; }
.esv-verdict__m { margin: 8px 0 0; color: var(--ink-2); font-size: 12.5px; overflow-wrap: anywhere; }

/* imza kartları */
.esv-sigs { display: grid; gap: 10px; }
.esv-sig { border: 1px solid var(--rule); border-inline-start: 3px solid var(--ink-3); border-radius: var(--r-1); padding: 12px 14px; background: var(--paper); transition: border-color .15s, box-shadow .15s; }
.esv-sig--ok { border-inline-start-color: var(--ok); }
.esv-sig--bad { border-inline-start-color: var(--signal-strong); }
@media (hover: hover) and (pointer: fine) { .esv-sig:hover { border-color: var(--ink); box-shadow: 2px 2px 0 var(--ink); } }
.esv-sig__h { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.esv-sig__n { font: 500 11.5px/1.2 var(--f-mono); letter-spacing: .06em; color: var(--ink-2); }
.esv-sig__who { flex: 1 1 auto; min-width: 0; font-weight: 650; font-size: 16.5px; overflow-wrap: anywhere; }
.esv-chip { flex: none; font: 600 11.5px/1 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; padding: 5px 7px 4px; border: 1px solid currentColor; border-radius: var(--r-1); color: var(--ink-2); }
.esv-chip--ok { color: var(--ok); }
.esv-chip--bad { color: var(--paper); background: var(--signal-strong); border-color: var(--signal-strong); }
html[lang="az"] .esv-chip, html[lang="tr"] .esv-chip { text-transform: none; letter-spacing: .02em; }
.esv-sig__layer { margin: 4px 0 0; font-size: 12.5px; color: var(--ink-2); }
.esv-sig__why { margin: 6px 0 10px; font-size: 14.5px; line-height: 1.45; }
.esv-facts dd.is-bad { color: var(--signal-ink); }
.esv-facts dd.is-ok { color: var(--ok); }

/* teknik ayrıntı: kapalı gelir, açılınca ince liste */
.esv-tech { margin-top: 10px; font-size: 13px; }
.esv-tech summary { cursor: pointer; color: var(--ink-2); width: max-content; max-width: 100%; }
.esv-tech summary:hover { color: var(--ink); }
.esv-tech__l { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; }
.esv-tech__l li { display: flex; justify-content: space-between; gap: 12px; border-top: 1px dashed var(--rule); padding-top: 4px; }
.esv-tech__k { color: var(--ink-2); }
.esv-tech__v { text-align: end; overflow-wrap: anywhere; min-width: 0; }
.esv-tech__l li.is-ok .esv-tech__v { color: var(--ok); }
.esv-tech__l li.is-bad .esv-tech__v { color: var(--signal-ink); font-weight: 600; }

/* EYP bileşenleri */
.esv-parts { border-top: 1px solid var(--rule); padding-top: 10px; }
.esv-parts__h { margin: 0 0 6px; font-weight: 650; font-size: 14.5px; }
.esv-parts__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; font-size: 13px; }
.esv-parts__l li { display: flex; justify-content: space-between; gap: 12px; }
.esv-parts__n { min-width: 0; overflow-wrap: anywhere; }
.esv-parts__s { flex: none; color: var(--ink-2); }
.esv-parts__l li.is-ok .esv-parts__s { color: var(--ok); }
.esv-parts__l li.is-bad .esv-parts__s { color: var(--signal-ink); font-weight: 600; }

/* denetlenen / denetlenmeyen */
.esv-honest { border: 1px solid var(--rule); border-radius: var(--r-1); padding: 12px 14px; background: var(--paper-2, var(--paper)); }
.esv-honest__h { margin: 0 0 8px; font-weight: 650; font-size: 14.5px; }
.esv-honest__g { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.esv-honest__k { margin: 0 0 4px; font: 600 11.5px/1.2 var(--f-mono); letter-spacing: .05em; text-transform: uppercase; }
.esv-honest__c.is-ok .esv-honest__k { color: var(--ok); }
.esv-honest__c.is-na .esv-honest__k { color: var(--ink-2); }
.esv-honest ul { margin: 0; padding-inline-start: 18px; font-size: 13.5px; line-height: 1.45; }
.esv-honest__legal { margin: 10px 0 0; }

@media (max-width: 719.98px) {
  .esv-honest__g { grid-template-columns: 1fr; }
  .esv-verdict { box-shadow: 2px 2px 0 var(--ink); }
}
@media print {
  .esv-tech { display: none; }
  .esv-verdict, .esv-sig:hover { box-shadow: none; }
}

/* inceleme (gece2): kimin imzaladığı doğrulanamayan imza, sonradan ekleme, doğrulanamayan damga sağlayıcısı: turuncu uyarı */
.esv-warn { margin: 8px 0 10px; padding: 8px 10px 8px 12px; border-inline-start: 3px solid var(--signal); background: rgba(229, 58, 36, .07); font-size: 14px; line-height: 1.45; font-weight: 560; color: var(--ink); border-radius: var(--r-1); }
.esv-verdict .esv-warn { margin: 10px 0 0; }
.esv-chip--warn { color: var(--signal-ink); border-color: var(--signal-ink); }
.esv-verdict--self::before { background: var(--signal); }
.esv-verdict--self .esv-verdict__h { color: var(--signal-ink); }
.esv-verdict--partial .esv-verdict__h { color: var(--ink); }
.esv-verdict--oov::before { background: var(--signal); }
.esv-verdict--oov .esv-verdict__h { color: var(--signal-ink); }
