/* PDF tools */
.pt-quota { display: inline-flex; gap: 8px; align-items: center; margin: 0 0 16px; padding: 8px 14px; border-radius: 999px; background: var(--jb-green-100); color: var(--jb-forest); font-size: 14px; }
.pt-quota a { font-weight: 600; text-decoration: underline; }
.pt-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.pt-card { position: relative; display: block; padding: 20px; border: 1px solid var(--jb-line); border-radius: 16px; background: var(--jb-card); color: inherit; overflow: hidden; transition: transform .15s, box-shadow .15s, border-color .15s; }
.pt-card::before { content: ''; position: absolute; left: 0; top: 0; right: 0; height: 4px; background: var(--c, var(--jb-forest)); }
a.pt-card:hover { transform: translateY(-3px); box-shadow: 0 16px 28px -18px rgba(16,24,40,.55); border-color: var(--c, var(--jb-forest)); }
.pt-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; font-size: 24px; color: #fff; background: var(--c, var(--jb-forest)); box-shadow: 0 10px 16px -10px var(--c, #000); margin-bottom: 12px; }
.pt-card h2 { margin: 0 0 4px; font-size: 18px; color: var(--jb-ink); }
.pt-card h2 em { font-style: normal; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: rgba(127,127,127,.2); vertical-align: middle; }
.pt-card p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--jb-ink-2); }
.pt-card.is-soon { opacity: .6; cursor: default; }
.pt-card.is-soon .pt-ic { filter: grayscale(.6); }

.pt-wrap { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 960px) { .pt-wrap { grid-template-columns: minmax(0, 1fr) 260px; } }
.pt-box, .pt-sbox { background: var(--jb-card); border: 1px solid var(--jb-line); border-radius: 16px; padding: 22px; box-shadow: 0 6px 20px -14px rgba(16,24,40,.35); }
.pt-help { margin: 0 0 14px; color: var(--jb-ink-2); line-height: 1.6; }
.pt-drop { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 30px 16px; text-align: center; border: 2px dashed var(--jb-line); border-radius: 14px; background: var(--jb-green-50); cursor: pointer; transition: border-color .15s, background .15s; }
.pt-drop:hover, .pt-drop.is-over { border-color: var(--jb-forest); background: var(--jb-green-100); }
.pt-drop b { font-size: 18px; color: var(--jb-forest); }
.pt-drop small { color: var(--jb-ink-3); }
.pt-drop-ic { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 16px; font-size: 26px; color: #fff; background: var(--c, var(--jb-forest)); margin-bottom: 6px; }
.pt-files { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.pt-files[hidden], .pt-opts[hidden], .pt-bar[hidden], .pt-done[hidden] { display: none; }
.pt-files li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--jb-line); border-radius: 10px; background: var(--jb-card); }
.pt-fn { min-width: 0; overflow-wrap: anywhere; }
.pt-fn small { margin-left: 8px; color: var(--jb-ink-3); }
.pt-fa { display: flex; gap: 6px; flex: none; }
.pt-fa button { width: 30px; height: 30px; border: 1px solid var(--jb-line); border-radius: 8px; background: transparent; color: var(--jb-ink-2); cursor: pointer; font: inherit; }
.pt-fa button:disabled { opacity: .35; cursor: default; }
.pt-opts { margin-top: 16px; padding: 14px; border-radius: 12px; background: var(--jb-green-50); border: 1px solid var(--jb-line); display: grid; gap: 10px; }
.pt-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--jb-ink); }
.pt-num, .pt-text, .pt-sel { padding: 8px 10px; border: 1px solid var(--jb-line); border-radius: 8px; font: inherit; background: var(--jb-card); color: var(--jb-ink); }
.pt-num { width: 80px; }
.pt-text { flex: 1 1 200px; min-width: 0; }
.pt-note { color: var(--jb-ink-3); line-height: 1.5; }
.pt-act { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.pt-bar { height: 8px; border-radius: 99px; background: var(--jb-line); margin-top: 16px; overflow: hidden; }
.pt-bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--jb-forest), var(--jb-green-500)); transition: width .2s; }
.pt-msg { margin: 12px 0 0; min-height: 1.3em; color: var(--jb-ink-2); }
.pt-msg.is-err { color: var(--jb-red); font-weight: 600; }
.pt-done { margin-top: 16px; padding: 18px; border-radius: 12px; border: 1px solid #86efac; background: #f0fdf4; color: #14532d; }
.pt-done h2 { margin: 0 0 4px; font-size: 18px; }
.pt-done p { margin: 0 0 12px; }
.pt-priv { margin: 18px 0 0; font-size: 13px; color: var(--jb-ink-3); }
.pt-sbox h2 { margin: 0 0 8px; font-size: 16px; color: var(--jb-forest); }
.pt-sbox a { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--jb-line); color: inherit; font-size: 14px; }
.pt-sbox a .fa { width: 20px; text-align: center; }
.pt-sbox a.pt-all { color: var(--jb-forest); font-weight: 600; border-bottom: 0; }
:root[data-theme="dark"] .pt-done { background: #10301c; border-color: #1f6b3a; color: #bbf7d0; }
