/* 薪資／人事（payroll.js）。沿用 .dx 的色票 */
.pr .pr-badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;line-height:18px;text-align:center}
.pr-btn{border:1px solid var(--line,#e4e1db);background:var(--card,#fff);border-radius:9px;padding:7px 12px;cursor:pointer;font:inherit;font-size:14px;color:inherit;white-space:nowrap}
.pr-btn.pri{background:var(--accent,#1f6b4a);border-color:transparent;color:#fff;font-weight:600}
.pr-btn.sm{padding:4px 9px;font-size:12px}
.pr-btn:disabled{opacity:.45;cursor:default}
.pr-x{border:0;background:none;color:var(--dim,#6f6960);font-size:18px;line-height:1;cursor:pointer;padding:2px 6px}
.pr-x:hover{color:var(--bad,#b23b3b)}
.pr-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:8px}
.dx table.pr-t{border-collapse:collapse;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
.pr-t th{font-size:12px;font-weight:600;color:var(--dim,#6f6960);padding:6px 5px;border-bottom:1px solid var(--line,#e4e1db);white-space:nowrap;text-align:center}
.pr-t td{padding:5px;border-bottom:1px solid var(--line,#e4e1db);text-align:center;white-space:nowrap}
.pr-t .l{text-align:left}
.pr-t .num{text-align:right}
.pr-t .b{font-weight:700}
.pr-t tr.off td{opacity:.5}
.pr .neg,.dx .neg{color:var(--bad,#b23b3b)}
.pr-in{border:1px solid var(--line,#e4e1db);border-radius:7px;padding:5px 6px;font:inherit;font-size:14px;text-align:right;background:var(--card,#fff)}
.pr-in:focus{outline:2px solid var(--accent,#1f6b4a);outline-offset:-1px}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 10px}
.pr-grid label{display:flex;flex-direction:column;font-size:12px;color:var(--dim,#6f6960);gap:3px}
.pr-grid input,.pr-grid select{padding:8px 9px !important;font-size:15px !important}
.pr-sub{margin:14px 0 6px;font-weight:600;font-size:13px}
table.pr-slip{width:100%;border-collapse:collapse;font-size:14px}
.pr-slip td{padding:5px 4px;border-bottom:1px solid var(--line,#e4e1db)}
.pr-slip .num{text-align:right;font-variant-numeric:tabular-nums}
.pr-slip tr.sum td{font-weight:700}
.pr-slip tr.big td{font-size:17px}
.pr-sig{height:56px;max-width:220px;border:1px solid var(--line,#e4e1db);border-radius:8px;background:#fff}
/* 列印薪資單：一頁兩張，照總部版型三欄 */
.pr-print .ps{border:1px solid #333;padding:8pt;margin-bottom:10mm;page-break-inside:avoid;font-size:10pt;color:#000}
.pr-print .ps:nth-child(2n){page-break-after:always}
.pr-print .ps-h{display:flex;justify-content:space-between;border-bottom:1px solid #333;padding-bottom:4pt;margin-bottom:4pt;font-size:11pt}
.pr-print .ps-name{margin-bottom:5pt}
.pr-print .ps-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6pt}
.pr-print table{border-collapse:collapse;width:100%}
.pr-print th{background:#dfe9d3;border:1px solid #555;padding:2pt 4pt;font-weight:600}
.pr-print td{border:1px solid #555;padding:2pt 4pt}
.pr-print .num{text-align:right}
.pr-print tr.t td{font-weight:700;background:#f1f5ec}
/* 組織總覽 */
.org{--line2:color-mix(in srgb,var(--ink,#1b1815) 18%,transparent)}
.org-root{max-width:340px;margin:0 auto;text-align:center;background:var(--card,#fff);border:1.5px solid var(--ink,#1b1815);border-radius:14px;padding:12px 16px;position:relative}
.org-root::after{content:"";position:absolute;left:50%;bottom:-19px;height:18px;border-left:1.5px solid var(--line2)}
.org-stores{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px;margin-top:36px;position:relative;align-items:start}
.org-stores::before{content:"";position:absolute;top:-18px;left:calc(100% / var(--n) / 2);right:calc(100% / var(--n) / 2);border-top:1.5px solid var(--line2)}
.org-store{position:relative;background:color-mix(in srgb,var(--c) 5%,var(--card,#fff));border:1px solid var(--line,#e4e1db);border-top:4px solid var(--c);border-radius:12px;padding:10px}
.org-store::before{content:"";position:absolute;left:50%;top:-22px;height:18px;border-left:1.5px solid var(--line2)}
.org-sh{text-align:center;cursor:pointer;padding-bottom:8px;border-bottom:1px solid var(--line,#e4e1db);margin-bottom:6px}
.org-sh b{font-size:17px;color:var(--c);margin-right:6px}
.org-amt{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.3}
.org-amt.big{font-size:26px}
.org-meta{font-size:12px;color:var(--dim,#6f6960)}
.org-d{margin-left:6px;font-weight:600}.org-d.up{color:var(--accent,#1f6b4a)}.org-d.dn{color:var(--bad,#b23b3b)}
.org-sec{font-size:12px;font-weight:700;color:var(--dim,#6f6960);margin:10px 2px 6px;letter-spacing:.05em}
.org-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.org-card{background:var(--card,#fff);border:1px solid var(--line,#e4e1db);border-radius:10px;padding:8px 10px;cursor:pointer}
.org-card:hover{border-color:var(--c)}
.org-card.mgr{border-left:3px solid var(--c)}
.org-card .org-amt{font-size:17px}
.org-n{display:flex;align-items:center;justify-content:space-between;gap:6px}
.org-split{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.org-split span{font-size:11px;padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--c) 12%,transparent);color:var(--c);white-space:nowrap}
.org-sup{display:flex;justify-content:space-between;padding:5px 4px;border-bottom:1px dashed var(--line,#e4e1db);font-size:14px;cursor:pointer;font-variant-numeric:tabular-nums}
@media (max-width:820px){
  .org-stores{grid-template-columns:1fr}
  .org-stores::before{display:none}
  .org-store::before{top:-15px;height:14px}
  .org-stores{margin-top:30px}
}
.pr-adv{font-size:11px;color:var(--bad,#b23b3b);white-space:nowrap;margin-top:2px}
.pr-adv a{color:var(--accent,#1f6b4a);font-weight:600}
.pr-sigbox{border:1.5px dashed #b9b3a8;border-radius:12px;background:#fff;position:relative;touch-action:none}
.pr-sigbox canvas{display:block;width:100%;height:160px}
.pr-sigbox span{position:absolute;left:12px;top:8px;font-size:12px;color:#b9b3a8;pointer-events:none}
.pr-src{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.pr-src b{font-size:15px}
.pr-src label{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--dim,#6f6960);white-space:nowrap}
.pr-src input{width:58px;padding:3px 5px;font-size:13px}
.pr-in.man{border-color:var(--warn,#9a6b1f);background:#fdf8ec}
.pr-dots{display:inline-flex;gap:3px;padding:4px;border-radius:6px}
.pr-dots:hover{background:var(--line,#e4e1db)}
.pr-dots span,.pr-dot{display:inline-block;width:10px;height:10px;border-radius:50%}
.pr-dot{margin-right:6px;vertical-align:-1px}
.pr-cash{font-size:11px;font-weight:400;color:var(--dim,#6f6960);white-space:nowrap}.pr-cash a{color:var(--accent,#1f6b4a)}
.pr-remit{position:relative;border:1px solid var(--line,#e4e1db);border-radius:10px;padding:8px 30px 8px 8px;margin-bottom:8px}.pr-remit .pr-x{position:absolute;right:4px;top:4px}
.at-t td,.at-t th{padding:4px 5px;font-size:12.5px}
.at-t tr.man td{background:#fdf6e3}
.at-t tr.flag td{background:#fbe4e4;color:#9b1c1c;font-weight:600}
.at-t tr.sum td{font-weight:700;border-top:2px solid var(--line,#e4e1db)}
.at-man{background:#fdf6e3;padding:1px 6px;border-radius:4px}.at-flag{background:#fbe4e4;padding:1px 6px;border-radius:4px;color:#9b1c1c}
.pr-print .at-page{page-break-after:always;font-size:9pt}
.pr-print .at-t th,.pr-print .at-t td{padding:1.5pt 3pt;font-size:8.5pt}
.pr-print .at-foot{margin-top:8pt;font-size:9.5pt}
.pr-print .cert{page-break-after:always;font-size:9.5pt;color:#000}
.pr-print .cert .ct{text-align:center;font-size:14pt;font-weight:700;margin-bottom:6pt}
.pr-print .cert .ch{margin-bottom:6pt}
.pr-print .cert .cs2{font-weight:700;margin:6pt 0 2pt}
.pr-print .cert table.cq td{border:1px solid #555;padding:2pt 4pt;vertical-align:top}
.pr-print .cert table.cq td.o{width:34pt;text-align:center;font-weight:700;font-size:11pt}
.pr-print .cert table.cq td.k{width:40pt;font-weight:700}
.pr-print .cert table.cs{margin-top:6pt}.pr-print .cert table.cs th{background:none;border:1px solid #555}.pr-print .cert table.cs td{border:1px solid #555;height:40pt;text-align:center;vertical-align:middle}
.pr-print .cert .cf{margin-top:4pt;font-size:8.5pt}
.pr-print .bk{font-size:14pt;line-height:2;color:#000;font-family:"BiauKai","DFKai-SB","Kaiti TC",serif}
.pr-print .bk .bt{text-align:center;font-size:22pt;letter-spacing:.5em;margin:10pt 0 18pt}
.pr-print .bk p{margin:4pt 0;text-align:justify}
.pr-print .bk table.bf{margin-top:24pt;width:100%}.pr-print .bk table.bf td{border:0;padding:8pt 4pt;font-size:14pt}
.pr-print .bk .sealbox{width:120pt;height:60pt;border:1px dashed #999 !important;font-size:9pt !important;color:#888;text-align:center}
.pr-print .bk .bd{text-align:center;margin-top:30pt;letter-spacing:.3em}
.pr-print .bk .bm{margin-top:30pt;font-size:12pt}
.pr-print .bk .bsig{position:relative;margin:30pt 0 0 22%;line-height:2.1}
.pr-print .bk .bseal{position:absolute;opacity:.92}.pr-print .bk .bseal.big{width:90pt;left:185pt;top:-18pt}.pr-print .bk .bseal.small{width:46pt;left:150pt;top:22pt}
.pr-own{background:#fdf3e1}.pr-t th.pr-own{color:var(--warn,#9a6b1f)}
/* 對齊：輸入格、數字靠右；表頭換行置底對齊 */
.pr-t td:has(> .pr-in){text-align:right}
.pr-t th{vertical-align:bottom;line-height:1.3}
.pr-t td{vertical-align:middle}
.pr-t td.num,.pr-t th.num{text-align:right;font-variant-numeric:tabular-nums}

.pr-sigbox em{position:absolute;left:0;right:0;bottom:10px;text-align:center;font-style:normal;font-size:15px;letter-spacing:.15em;color:rgba(31,107,74,.16);font-weight:700;pointer-events:none}
.pr-sigbox,.pr-sigbox *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

.pr-print .ps-logo{height:22pt;width:auto;vertical-align:middle;margin-right:6pt}
.pr-print .ps-h b{display:inline-flex;align-items:center}

/* 人事資料表輸出 */
.pr-print .hs-page{page-break-after:always;font-size:10.5pt;color:#000;padding:0 1.5pt}
.pr-print table.hs-f{width:calc(100% - 2pt);table-layout:fixed}
.pr-print .hs-top{display:flex;justify-content:space-between;font-size:9pt;color:#444}
.pr-print .hs-t{text-align:center;font-size:16pt;font-weight:700;margin:4pt 0 10pt;letter-spacing:.1em}
.pr-print .hs-s{font-weight:700;margin:10pt 0 4pt}
.pr-print table.hs-f th{width:26mm;background:#f2f2f2;text-align:left;font-weight:600;white-space:nowrap}
.pr-print table.hs-f th,.pr-print table.hs-f td{border:1px solid #555;padding:4pt 5pt;vertical-align:middle}
.pr-print .hs-ph{width:35mm;height:45mm;padding:0!important;text-align:center;color:#888;font-size:9pt}
.pr-print .hs-ph img{width:35mm;height:45mm;object-fit:cover;display:block}
.pr-print .hs-ck{margin-right:2pt}
.pr-print .hs-no{color:#999}
.pr-print .hs-id{display:grid;grid-template-columns:1fr 1fr;gap:5mm}
.pr-print .hs-id div{border:1px dashed #777;aspect-ratio:85.6/54;display:flex;align-items:center;justify-content:center;color:#888}
.pr-print .hs-id img{width:100%;height:100%;object-fit:contain}
.pr-print .hs-pb{border:1px dashed #777;min-height:80mm;display:flex;align-items:center;justify-content:center;color:#888;margin-top:6mm}
.pr-print .hs-pb img{max-width:100%;max-height:150mm}
.pr-print .hs-acct span{display:inline-block;width:6mm;border-right:1px solid #bbb;text-align:center}
.pr-print .hs-src{margin-top:8pt;font-size:8pt;color:#666}
.pr-print .hs-ec{font-size:9.5pt;line-height:1.5}.pr-print .hs-ec ol{margin:4pt 0;padding-left:16pt}.pr-print .hs-ec ol.hs-sub{list-style:none;padding-left:4pt;counter-reset:s}
.pr-print .hs-ec ol.hs-sub li{counter-increment:s}.pr-print .hs-ec ol.hs-sub li::before{content:"(" counter(s, decimal-leading-zero) ") "}
.pr-print .hs-sig{margin-top:10pt;display:grid;gap:4pt}.pr-print .hs-sig img{height:16mm;vertical-align:middle}

/* 離職申請表 */
.pr-print .rf{font-size:11pt;color:#000}
.pr-print .rf-v{text-align:right;font-size:9pt}
.pr-print .rf-t{text-align:center;font-size:20pt;font-weight:700;letter-spacing:.2em;margin:4pt 0 12pt}
.pr-print table.rf-g{width:calc(100% - 2pt);border-collapse:collapse;border:2px solid #000}
.pr-print table.rf-g th,.pr-print table.rf-g td{border:1px solid #000;padding:8pt 8pt;vertical-align:middle;text-align:left}
.pr-print table.rf-g th{width:26mm;font-weight:700;text-align:center;background:#fff}
.pr-print .rf-n{display:flex;gap:8pt;font-size:9.5pt;line-height:1.6}.pr-print .rf-n>div:first-child{flex:1}
.pr-print .rf-s{width:40mm;min-height:32mm;border:1.5px dashed #000;text-align:center;font-weight:700;padding:4pt}.pr-print .rf-s img{max-width:100%;max-height:24mm;display:block;margin:4pt auto 0}
.pr-print .rf-d{text-align:right;margin-top:8pt}
.pr-print .rf-m{border:1px dashed #000;padding:6pt 8pt;margin:10pt 0;font-size:10pt;line-height:1.7}
.pr-print table.rf-sg th{background:#e5e5e5;width:50%}.pr-print table.rf-sg td{height:28mm;text-align:center;vertical-align:middle}
.pr-print table.rf-sg td img{max-height:18mm;max-width:80%}.pr-print .rf-seal{height:16mm;vertical-align:middle;margin-right:6pt}
.pr-print .rf-x{margin-top:8pt;font-size:9pt;color:#444}

/* 手機：待確認清單整列可點，時間欄縮小 */
@media (max-width:600px){.pr-pend td{padding-left:4px;padding-right:4px}.pr-pend td.t{font-size:11px;white-space:nowrap}.pr-pend .pr-btn{padding:5px 8px}}
