/* Giao diện dùng chung cho nhóm PDF: UTIL-031 Gộp, UTIL-032 Tách, UTIL-036 Sắp xếp trang.
   Font kế thừa bộ UI (Arial, "Helvetica Neue", Helvetica, sans-serif); tiêu đề 700; không ghi đè FontAwesome. */
.pdfx-drop{min-height:150px}
.pdfx-drop .sou-button{pointer-events:none}
.pdfx-drop:focus-visible{outline:2px solid #3869ed;outline-offset:2px}
.pdfx-drop-or{color:var(--sou-muted);font-size:14px}
.pdfx-limits{margin:8px 0 0}
.pdfx-rejects{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:var(--sou-err-bg);color:var(--sou-err)}
.pdfx-rejects p{margin:0}
.pdfx-rejects ul{margin:6px 0 10px;padding-left:20px}
.pdfx-rejects li{margin:4px 0;overflow-wrap:anywhere}
.pdfx-rejects .sou-button{min-height:44px}
.pdfx-panel{margin-top:22px}
.pdfx-panel-head{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:4px}
.sou-page .pdfx-h{font-size:19px}
.pdfx-panel-head .sou-presets{margin:0}
.pdfx-presets button,.pdfx-chips button{min-height:44px}
.pdfx-help{margin:6px 0 0;color:var(--sou-muted);font-size:14px}
.pdfx-docbar{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--sou-line);border-radius:14px;background:#f7f9fd}
.pdfx-docbar .sou-toolbar{grid-column:1/-1;margin-top:0}
.pdfx-docbar .sou-toolbar .sou-button{min-height:44px}
.pdfx-files{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px;counter-reset:pdfx}
.pdfx-file{display:grid;grid-template-columns:44px 76px minmax(0,1fr);gap:4px 12px;align-items:start;padding:12px;border:1px solid var(--sou-line);border-radius:14px;background:#fff}
.pdfx-file>.pdfx-handle,.pdfx-file>.pdfx-thumb{grid-row:span 3}
.pdfx-file>.pdfx-file-body,.pdfx-file>.pdfx-badges,.pdfx-file>.pdfx-range{grid-column:3}
.pdfx-file>.pdfx-file-actions{margin-top:8px}
.pdfx-file.is-checking{opacity:.75}
.pdfx-file.is-dragging,.pdfx-card.is-dragging{opacity:.45}
.pdfx-file.drop-before{box-shadow:0 -4px 0 var(--sou-primary)}
.pdfx-file.drop-after{box-shadow:0 4px 0 var(--sou-primary)}
.pdfx-handle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:44px;min-height:44px;border:1px dashed #c9d7f5;border-radius:10px;background:#fbfcff;color:var(--sou-muted);cursor:grab;font-weight:700;font-size:15px}
.pdfx-handle .fa{font-size:14px}
.pdfx-thumb{width:76px;height:96px;display:flex;align-items:center;justify-content:center;border:1px solid var(--sou-line);border-radius:8px;background:#fff;overflow:hidden}
.pdfx-thumb img,.pdfx-card-thumb img{display:block;max-width:100%;max-height:100%;transition:transform .15s}
.pdfx-thumb .fa,.pdfx-card-thumb .fa{font-size:28px;color:#b9cbf3}
.pdfx-name{display:block;color:var(--sou-ink);font-size:16px;overflow-wrap:anywhere}
.pdfx-meta{display:block;margin-top:2px;color:var(--sou-muted);font-size:14px}
.pdfx-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}
.pdfx-badges:empty{display:none}
.pdfx-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--sou-soft);color:var(--sou-ink)}
.pdfx-badge.warn{background:var(--sou-warn-bg);color:var(--sou-warn)}
.pdfx-badge.ok{background:var(--sou-ok-bg);color:var(--sou-ok)}
.pdfx-file-body{min-width:0}
.pdfx-file-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.pdfx-iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--sou-line);border-radius:10px;background:#fff;color:var(--sou-ink);font:700 14px Arial,"Helvetica Neue",Helvetica,sans-serif;cursor:pointer;touch-action:manipulation}
.pdfx-iconbtn:hover{background:var(--sou-soft)}
.pdfx-iconbtn[disabled]{opacity:.4;cursor:not-allowed;background:#fff}
.pdfx-iconbtn.danger{color:var(--sou-err)}
.pdfx-range{margin:10px 0 0}
.pdfx-range input{max-width:420px}
.pdfx-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pdfx-chips button{padding:6px 12px;border:1px solid var(--sou-line);border-radius:999px;background:var(--sou-soft);color:var(--sou-ink);font:700 14px Arial,"Helvetica Neue",Helvetica,sans-serif;cursor:pointer}
.pdfx-range-info{display:block;margin-top:6px;color:var(--sou-muted);font-size:14px;overflow-wrap:anywhere}
.pdfx-range-info.warn{color:var(--sou-warn);font-weight:700}
.pdfx-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0}
.pdfx-toolbar .sou-button{min-height:44px;padding:8px 14px;font-size:15px}
.pdfx-toolbar-group{display:flex;flex-wrap:wrap;gap:6px;padding-right:8px;margin-right:2px;border-right:1px solid var(--sou-line)}
.pdfx-toolbar-group:last-child{border-right:0}
.pdfx-advanced{margin:16px 0 0;border:1px solid var(--sou-line);border-radius:14px;background:#fff}
.pdfx-advanced>summary{cursor:pointer;min-height:44px;padding:12px 14px;font-weight:700;color:var(--sou-ink)}
.pdfx-advanced>summary span{font-weight:400;color:var(--sou-muted);font-size:14px}
.pdfx-advanced-body{padding:0 14px 14px}
.pdfx-advanced .sou-row{align-items:flex-start}
.pdfx-note{margin:8px 0 0;padding:10px 12px;border-radius:10px;background:var(--sou-soft);color:var(--sou-ink);font-size:14px}
.pdfx-warnings{display:grid;gap:8px;margin:14px 0 0}
.pdfx-warnings:empty{display:none}
.pdfx-warnings p{margin:0}
.pdfx-summary{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:16px 0 0;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));border:1px solid var(--sou-line);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 -6px 18px rgba(16,36,94,.08)}
.pdfx-summary p{margin:0;font-weight:700;color:var(--sou-ink);overflow-wrap:anywhere}
.pdfx-summary small{display:block;font-weight:400;color:var(--sou-muted);font-size:14px}
.pdfx-progress{margin:16px 0 0;padding:14px;border:1px solid var(--sou-line);border-radius:14px;background:#f7f9fd}
.pdfx-progress p{margin:0 0 8px;font-weight:700;color:var(--sou-ink)}
.pdfx-progress .sou-button{margin-top:12px}
.pdfx-result{margin-top:16px}
.pdfx-result .sou-actions{margin-bottom:0}
.pdfx-result-name{margin:12px 0 0;font-weight:700;color:var(--sou-ink);overflow-wrap:anywhere}
.pdfx-outputs{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px;max-height:420px;overflow:auto}
.pdfx-outputs li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid var(--sou-line);border-radius:10px;background:#fff}
.pdfx-outputs li span{min-width:0;overflow-wrap:anywhere}
.pdfx-grid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--pdfx-card,150px),1fr));gap:12px}
.pdfx-card{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;padding:8px;border:1px solid var(--sou-line);border-radius:12px;background:#fff;content-visibility:auto;contain-intrinsic-size:auto 250px}
.pdfx-card.is-selected{border-color:var(--sou-primary);box-shadow:inset 0 0 0 2px var(--sou-primary);background:#f5f8ff}
.pdfx-card.drop-before::before,.pdfx-card.drop-after::after{content:"";position:absolute;top:6px;bottom:6px;width:4px;border-radius:4px;background:var(--sou-primary)}
.pdfx-card.drop-before::before{left:-9px}
.pdfx-card.drop-after::after{right:-9px}
.pdfx-card-thumb{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:8px;background:#f2f5fb;overflow:hidden}
.pdfx-card-thumb img{box-shadow:0 1px 4px rgba(16,36,94,.18);background:#fff}
.pdfx-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px}
.pdfx-card-check{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;padding:0 4px;font-weight:700;color:var(--sou-ink);cursor:pointer}
.pdfx-card-check input{width:22px;height:22px;margin:0;accent-color:var(--sou-primary)}
.pdfx-card-label{font-weight:700;color:var(--sou-ink);font-size:14px;overflow-wrap:anywhere}
.pdfx-card-sub{color:var(--sou-muted);font-size:13px;overflow-wrap:anywhere}
.pdfx-card-actions{display:flex;flex-wrap:wrap;gap:4px}
.pdfx-card-actions .pdfx-iconbtn{flex:1 1 44px;padding:6px}
.pdfx-dialog{width:min(92vw,760px);max-height:92vh;padding:0;border:0;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.3);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;color:var(--sou-text,#26365f)}
.pdfx-dialog::backdrop{background:rgba(16,36,94,.55)}
.pdfx-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #dce6ff}
.pdfx-dialog-head h2{margin:0;font-size:17px;font-weight:700;color:#10245e;overflow-wrap:anywhere}
.pdfx-dialog-body{padding:14px;overflow:auto;max-height:calc(92vh - 140px)}
.pdfx-dialog-foot{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:12px 14px;border-top:1px solid #dce6ff}
.pdfx-stage{display:flex;align-items:center;justify-content:center;min-height:240px;height:min(64vh,620px);background:#eef2f9;border-radius:12px;overflow:hidden}
.pdfx-stage img{max-width:100%;max-height:100%;box-shadow:0 2px 10px rgba(0,0,0,.18);background:#fff}
.pdfx-stage.is-turned img{max-width:var(--pdfx-stage-h,100%);max-height:var(--pdfx-stage-w,100%)}
.pdfx-dialog-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.pdfx-dialog-menu .pdfx-iconbtn{justify-content:flex-start;width:100%}
.pdfx-dialog .sou-field{margin:0}
.pdfx-dialog input[type=text]{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfdcf2;border-radius:10px;font:inherit;font-size:16px}
.pdfx-modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:12px 0 0;padding:0;border:0}
.pdfx-modes legend{margin:0 0 6px;padding:0;font-weight:700;color:var(--sou-ink)}
.pdfx-mode{position:relative;display:flex;flex-direction:column;gap:2px;min-height:44px;padding:10px 12px;border:1px solid var(--sou-line);border-radius:12px;background:#fff;cursor:pointer}
.pdfx-mode input{position:absolute;opacity:0;width:1px;height:1px}
.pdfx-mode strong{color:var(--sou-ink);font-size:15px}
.pdfx-mode span{color:var(--sou-muted);font-size:13px}
.pdfx-mode:has(input:checked){border-color:var(--sou-primary);background:#eef4ff;box-shadow:inset 0 0 0 1px var(--sou-primary)}
.pdfx-mode:has(input:focus-visible){outline:2px solid #3869ed;outline-offset:2px}
.pdfx-mode.is-on{border-color:var(--sou-primary);background:#eef4ff;box-shadow:inset 0 0 0 1px var(--sou-primary)}
.pdfx-mode-panel{margin:14px 0 0;padding:14px;border-radius:14px;background:#f7f9fd;border:1px solid var(--sou-line)}
.pdfx-mode-panel textarea{min-height:120px;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.pdfx-plan{margin-top:14px}
.pdfx-plan h3{margin:0 0 8px}
.pdfx-plan .sou-table td:last-child{overflow-wrap:anywhere}
@media(max-width:600px){
 .pdfx-file{grid-template-columns:44px 60px minmax(0,1fr);gap:6px 10px;padding:10px}
 .pdfx-file>.pdfx-handle,.pdfx-file>.pdfx-thumb{grid-row:auto}
 .pdfx-file>.pdfx-badges,.pdfx-file>.pdfx-range{grid-column:1/-1}
 .pdfx-range input{max-width:none}
 .pdfx-thumb{width:60px;height:78px}
 .pdfx-file-actions .pdfx-iconbtn{flex:1 1 44px}
 .pdfx-file-actions .pdfx-iconbtn span.pdfx-btn-text{display:none}
 .pdfx-grid{--pdfx-card:118px!important;gap:10px}
 .pdfx-card{padding:6px}
 .pdfx-toolbar-group{border-right:0;padding-right:0}
 .pdfx-summary .sou-button{flex:1 1 100%}
 .pdfx-dialog-foot .sou-button{flex:1 1 auto}
 .pdfx-docbar{grid-template-columns:60px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.pdfx-thumb img,.pdfx-card-thumb img{transition:none}}
@media print{.pdfx-summary,.pdfx-progress,.pdfx-dialog{display:none!important}}
