/* ESS แจ้งลาออก R1 (26/9/2569) — ใช้คลาสกลางจาก timecore.css (card, request, badge, notice, empty) เป็นหลัก */
.rs-panel{min-width:0}
.rs-panel textarea{width:100%}
.rs-panel h3{margin-top:18px}
.rs-rule{margin:0 0 14px;line-height:1.55}
.rs-rule p{margin:0}
.rs-rule p+p{margin-top:6px}
.rs-status{min-height:1.2em;margin:0 0 12px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.rs-status.error,.rs-form-status.error,.rs-error{color:#970c15}
.rs-status.success{color:#0a6247;font-weight:700}
.rs-form{border:1px solid var(--line);border-radius:14px;padding:4px 16px 16px;margin:0 0 16px;background:#fcfcfd}
.rs-form h3{margin:14px 0 12px}
.rs-form-status{min-height:1.2em;font-size:13px;margin:0 0 12px;overflow-wrap:anywhere}
.rs-privacy{font-weight:400}
.rs-section{margin:8px 0 18px}
.rs-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rs-section-head h3{margin:18px 0 8px}
.rs-scope{margin:0;min-width:180px;font-weight:400}
.rs-request{min-width:0}
.rs-request>div{min-width:0}
.rs-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px;padding:0}
.rs-steps li{display:flex;align-items:flex-start;gap:8px;flex:1 1 180px;min-width:0;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fafbfc;font-size:12px}
.rs-steps li>span{min-width:0;font-weight:700;overflow-wrap:anywhere}
.rs-steps li small{display:block;font-weight:400;color:var(--muted);margin-top:2px}
.rs-steps b{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#e6e8ec;color:#374151;font-size:12px}
.rs-steps .done{border-color:#badfce;background:#e8f7f1}
.rs-steps .done b{background:#0d8661;color:#fff}
.rs-steps .current{border-color:#eed7a6;background:#fff6df}
.rs-steps .current b{background:#a76503;color:#fff}
.rs-steps .stopped{background:#f1f2f5}
.rs-steps .stopped b{background:#6c7280;color:#fff}
.rs-hint{color:#77500c;background:#fff6df;border-radius:8px;padding:6px 10px}
.rs-after{margin:0 0 16px}
.rs-past{margin:6px 0 16px}
.rs-past>summary,.rs-issues>summary{cursor:pointer;font-weight:700;font-size:14px;padding:8px 0}
.rs-issues{margin-top:12px;border-top:1px solid var(--line);padding-top:6px}
.rs-more{margin:10px 0}
.badge.pending_hr{background:#e8f1fb;color:#1d5c9a}
.badge.withdrawn{background:#f1f2f5;color:#6c7280}
.menu-grid .tile-icon.slate{color:#475569;background:#eef2f6}
.menu-grid .rs-tile-count{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:20px;background:#fff0f1;color:#970c15;font-size:11px;font-weight:700}
.rs-requests-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.rs-requests-hint button{min-height:38px;padding:6px 12px;font-size:12px}
.rs-detail dl{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:6px 12px;margin:0 0 12px;font-size:13px}
.rs-detail dt{color:var(--muted)}
.rs-detail dd{margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
.rs-detail h3{margin:14px 0 6px}
.rs-history{margin:0;padding-left:20px;font-size:13px}
.rs-history li{margin:0 0 8px;overflow-wrap:anywhere}
.rs-history li span{display:block;white-space:pre-wrap;color:#374151}
.rs-dialog label{margin-top:12px}
.rs-dialog .notice{margin:10px 0 0}
.rs-error{min-height:1em;font-size:13px;margin:10px 0 0;overflow-wrap:anywhere}
/* R2 (26/9/2569): ขั้น 3 บันทึกลงทะเบียน */
.badge.rs-reg-todo{background:#fff6df;color:#77500c}
.badge.rs-reg-open{background:#e8f1fb;color:#1d5c9a}
.badge.rs-reg-done{background:#e8f7f1;color:#0a6247}
.badge.rs-reg-warn{background:#fff0f1;color:#970c15}
.rs-reg-line{margin:8px 0 0;font-size:13px;font-weight:700;color:#1d5c9a;overflow-wrap:anywhere}
.rs-warn{color:#5f3e05;background:#fff6df}
.rs-warn p{margin:0}
.rs-warn p+p,.rs-warn ul+p{margin-top:6px}
.rs-subs{margin:6px 0 0;padding-left:20px;font-size:13px}
.rs-subs li{overflow-wrap:anywhere}
.rs-sheet{margin:0 0 10px;padding-left:20px;font-size:13px;line-height:1.6}
.rs-sheet li{overflow-wrap:anywhere}
.rs-change{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px;margin:0 0 10px;white-space:normal}
.rs-change thead th:nth-child(1){width:34%}
.rs-change thead th:nth-child(2){width:26%}
.rs-change th,.rs-change td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.rs-change thead th{background:#f6f7f9;font-weight:700}
.rs-change tbody th{font-weight:400;color:var(--muted)}
@media(max-width:480px){
  .rs-change,.rs-change tbody,.rs-change tr,.rs-change th,.rs-change td{display:block;width:auto}
  .rs-change thead{display:none}
  .rs-change tr{border:1px solid var(--line);border-radius:8px;margin:0 0 8px;padding:4px 0}
  .rs-change th,.rs-change td{border:0;padding:2px 10px}
  .rs-change td:nth-of-type(1)::before{content:"ตอนนี้: ";color:var(--muted)}
  .rs-change td:nth-of-type(2)::before{content:"หลังบันทึก: ";color:var(--muted)}
}
@media(max-width:480px){
  .rs-steps li{flex-basis:100%}
  .rs-panel .request-actions button{flex:1 1 100%}
  .rs-detail dl{grid-template-columns:1fr}
  .rs-detail dt{margin-top:4px}
  .rs-form{padding:2px 12px 12px}
}
/* ใบลาออก (6/10/2569): ช่องแนบไฟล์ตอนยื่น (ต้องแนบ) · รายการ 📎 · รูปในรายละเอียดคำขอ แตะเพื่อขยาย */
.rs-letter{display:grid;gap:8px;margin:0 0 14px;padding:12px;border:1px dashed #cfd6de;border-radius:14px;background:#fff}
.rs-letter[hidden]{display:none}
.rs-letter-title{font-weight:700;font-size:13px}
.rs-letter-title b{color:#970c15}
.rs-letter>small{font-size:12px;line-height:1.5}
.rs-letter-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.rs-letter-list:empty{display:none}
.rs-letter-thumb{position:relative;margin:0;aspect-ratio:3/4;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#f6f7f9}
.rs-letter-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rs-letter-thumb button{position:absolute;top:6px;right:6px;width:32px;height:32px;min-height:0;border-radius:50%;border:0;background:rgba(17,24,39,.72);color:#fff;font-size:15px;line-height:1;padding:0;cursor:pointer}
.rs-letter-pdf{display:grid;place-content:center;height:100%;text-align:center;font-size:18px;font-weight:800;color:#970c15}
.rs-letter-pdf small{display:block;margin-top:2px;font-size:11px;font-weight:400;color:var(--muted)}
.rs-letter-pick{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;min-height:52px;margin:0;padding:6px 12px;border-radius:12px;border:1px solid var(--line);background:#fafbfc;font-size:14px;font-weight:700;text-align:center;cursor:pointer}
.rs-letter-pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.rs-letter-pick[hidden]{display:none}
.rs-letter-pick:focus-within{outline:2px solid #236cb6;outline-offset:2px}
.rs-letter-confirm{margin:0 0 12px}
.rs-letter-line{margin:6px 0 0;font-size:13px;font-weight:700;color:#374151}
.rs-letter-line.none{font-weight:400;color:var(--muted)}
.rs-letter-files{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:12px}
.rs-letter-figure{margin:0}
.rs-letter-scroll{border:1px solid var(--line);border-radius:10px;background:#f6f7f9;overflow:hidden;cursor:zoom-in}
.rs-letter-scroll img{display:block;width:100%;height:auto}
.rs-letter-figure.zoomed .rs-letter-scroll{overflow:auto;max-height:70vh;cursor:zoom-out}
.rs-letter-figure.zoomed .rs-letter-scroll img{width:auto;max-width:none}
.rs-letter-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;font-size:12px;color:var(--muted)}
.rs-letter-figure figcaption button{min-height:32px;padding:4px 12px;font-size:12px}
.rs-letter-doc{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.rs-letter-doc a{font-weight:700}
.rs-letter-doc small{color:var(--muted)}
/* ใบลาออกอิเล็กทรอนิกส์ (10/10/2569): ใบในหน้าต่าง · ช่องเซ็นชื่อ · ใบผ่านงาน · คืนทรัพย์สิน · ปุ่มใบลาออก / บันทึก PDF */
.rs-dialog:has(.rs-docwrap){width:min(880px,calc(100vw - 16px))}
.rs-docwrap{margin:10px 0;border:1px solid #d4dbe5;border-radius:10px;overflow:hidden;background:#eef1f5}
.rs-doc{display:block;width:100%;height:900px;border:0;background:#fff}
.rs-doc-preview,.rs-doc-fixed{height:min(65vh,900px)}
.rs-pad-label{margin-top:12px;font-weight:700;font-size:13px}
.rs-pad{position:relative;height:170px;border:2px dashed #9fb0c6;border-radius:14px;background:#fbfcfe;margin:6px 0 2px;touch-action:none}
.rs-pad.inked{border-style:solid;border-color:#3a63a8}
.rs-pad-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.rs-pad-hint{position:absolute;left:12px;top:8px;font-size:12px;color:#8a97ab;pointer-events:none}
.rs-pad.inked .rs-pad-hint{display:none}
.rs-pad-tools{display:flex;justify-content:flex-end}
.rs-pad-tools .link{min-height:32px;padding:4px 10px;border:0;background:none;color:#1d5c9a;font-size:13px;text-decoration:underline;cursor:pointer}
.rs-consent{display:flex!important;flex-direction:row!important;gap:8px;align-items:flex-start;font-weight:700;font-size:13px;line-height:1.5}
.rs-consent input{flex:none;width:20px;height:20px;margin-top:1px}
.rs-cert{border:1px solid var(--line);border-radius:12px;padding:8px 12px 10px;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.rs-cert[hidden]{display:none}
.rs-cert legend{font-weight:700;font-size:13px;padding:0 4px}
.rs-cert label{display:flex;flex-direction:row;gap:6px;align-items:center;margin:0;font-weight:400}
.rs-assets{border:1px solid var(--line);border-radius:12px;padding:8px 12px 10px;margin:10px 0 0}
.rs-assets legend{font-weight:700;font-size:13px;padding:0 4px}
.rs-asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;margin:4px 0 6px}
.rs-asset-grid label{display:flex;flex-direction:row;gap:6px;align-items:center;margin:0;font-weight:400;font-size:13px}
.rs-assets-line{margin:8px 0 0;font-size:13px;font-weight:700;color:#77500c}
.rs-assets-line.done{color:#0a6247}
.rs-doc-links{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.rs-panel .request-actions a.button,.rs-doc-links a.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;color:#1d3557;font-size:13px;font-weight:700;text-decoration:none}
.rs-pdf-inapp{margin:8px 0 0;display:grid;gap:6px;font-size:13px}
.rs-pdf-inapp[hidden]{display:none}
.rs-pdf-inapp small{color:var(--muted)}
.badge.pending_line_manager,.badge.pending_executive{background:#e8f1fb;color:#1d5c9a}
@media(max-width:640px){.rs-doc{height:1400px}.rs-doc-preview,.rs-doc-fixed{height:65vh}.rs-pad{height:190px}.rs-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 10/10/2569: HR / ผู้ดูแลระบบยกเลิกใบลาออก (ปุ่มแดงขอบ · ข้อความเตือนในหน้าต่าง) */
.rs-panel .request-actions button.rs-cancel{color:#b42318;border-color:#f3c3be;background:#fff}
.rs-panel .request-actions button.rs-cancel:hover{background:#fef3f2}
.rs-cancel-note{border-color:#f3c3be;background:#fef3f2;color:#7a271a}
