.spec-pdf-card{display:flex;align-items:center;gap:16px;width:100%;max-width:520px;margin:0 0 24px;padding:16px 18px;border:1px solid #25313c;border-radius:12px;background:var(--panel,#101820);color:var(--text,#f5f6fa);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.spec-pdf-card:hover{border-color:var(--orange,#ff7900);background:#141f28}
.spec-pdf-card:focus-visible{outline:2px solid var(--orange,#ff7900);outline-offset:3px}
.spec-pdf-icon{flex:0 0 auto;width:38px;height:38px;color:var(--orange,#ff7900)}
.spec-pdf-info{display:flex;flex-direction:column;gap:4px}
.spec-pdf-info strong{font-size:15px}
.spec-pdf-info .muted{font-size:13px;color:var(--muted,#aab4be)}

.pdf-modal{box-sizing:border-box;display:flex;flex-direction:column;width:min(1000px,calc(100% - 32px));height:calc(100dvh - 64px);max-height:900px;margin:auto;padding:0;border:1px solid #34414e;border-radius:14px;background:var(--panel,#101820);color:var(--text,#f5f6fa);overflow:hidden;box-shadow:0 24px 80px #0008}
.pdf-modal:not([open]){display:none}
.pdf-modal::backdrop{background:#000b}
body:has(.pdf-modal[open]){overflow:hidden}
.pdf-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid #25313c;background:#0c1218}
.pdf-title{font-size:15px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.pdf-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pdf-controls button,.pdf-controls a{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid #34414e;border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:16px;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
.pdf-controls button:hover,.pdf-controls a:hover{border-color:var(--orange,#ff7900);background:#ffffff0d}
.pdf-controls button:disabled{opacity:.4;cursor:default}
.pdf-controls button:disabled:hover{border-color:#34414e;background:transparent}
.pdf-controls :focus-visible{outline:2px solid var(--orange,#ff7900);outline-offset:2px}
.pdf-page-info,.pdf-zoom-level{min-width:52px;text-align:center;font-size:13px;color:var(--muted,#aab4be);font-variant-numeric:tabular-nums}
.pdf-sep{width:1px;height:22px;background:#25313c;margin:0 2px}
.pdf-canvas-wrap{position:relative;flex:1;min-height:0;display:flex;align-items:flex-start;justify-content:flex-start;overflow:auto;padding:20px;background:#05080c}
.pdf-canvas-wrap:focus-visible{outline:none}
.pdf-canvas-wrap canvas{flex:none;max-width:none;margin-inline:auto;box-shadow:0 4px 24px #0006;background:#fff}
.pdf-status{margin:auto;color:var(--muted,#aab4be);font-size:14px;text-align:center}
.pdf-status-error a{color:var(--orange,#ff7900)}

@media(max-width:600px){
  .pdf-modal{width:100%;height:100dvh;max-height:none;border-radius:0;margin:0}
  .pdf-toolbar{padding:10px 12px}
  .pdf-title{max-width:140px;font-size:13px}
  .pdf-controls button,.pdf-controls a{min-width:30px;height:30px;font-size:14px}
  .pdf-canvas-wrap{padding:10px}
}
@media(prefers-reduced-motion:reduce){.spec-pdf-card,.pdf-controls button,.pdf-controls a{transition:none}}

.spec-pdf-info { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .spec-pdf-card { padding: 14px; gap: 12px; }
  .spec-pdf-info strong { line-height: 1.5; }
  .spec-pdf-info .muted { line-height: 1.6; }
  .pdf-title { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .pdf-controls { width: 100%; gap: 8px; }
  .pdf-controls button,
  .pdf-controls a { min-width: 44px; height: 44px; }
  .pdf-sep { display: none; }
}
