@font-face{font-family:KlassinSarabun;src:url('assets/fonts/Sarabun-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:KlassinSarabun;src:url('assets/fonts/Sarabun-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
.document-quick-increment{background:#ecfdf5!important;border-color:#a7d9c4!important}
.document-quick-increment .activity-quick-icon{background:#087f5b;color:#fff}
.document-quick-increment-icon{animation:documentQuickReady 3.2s ease-in-out infinite}
.document-quick-increment .document-quick-increment-mark{background:#0e7490;box-shadow:0 3px 8px rgba(14,116,144,.25)}
.sr-rank-dialog{width:calc(100% - 32px);max-width:460px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #cbded6;border-radius:8px;background:#fff;color:#172033;box-shadow:0 16px 48px rgba(0,0,0,.2);font-family:KlassinSarabun,Tahoma,sans-serif;letter-spacing:0}
.sr-rank-dialog::backdrop{background:rgba(0,0,0,.42)}
.sr-rank-dialog *{box-sizing:border-box}
.sr-rank-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-top:4px solid #087f5b;border-bottom:1px solid #d6e2df}
.sr-rank-dialog header>div{min-width:0}
.sr-rank-dialog header span{color:#476055;font-size:14px}
.sr-rank-dialog h2{margin:2px 0 0;color:#172033;font-size:22px;font-weight:700;line-height:1.5}
.sr-rank-dialog button,.sr-rank-dialog select{font:inherit;letter-spacing:0}
.sr-rank-dialog button{min-height:44px;padding:9px 14px;border:1px solid #bfcfc7;border-radius:5px;background:#fff;color:#24503c;cursor:pointer;font-size:16px;line-height:1.5}
.sr-rank-dialog .sr-rank-close{width:44px;flex:none;padding:0}
.sr-rank-body{padding:20px}
.sr-rank-body label{display:block;margin-bottom:8px;font-size:16px;font-weight:700}
.sr-rank-body select{display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #a8c5b7;border-radius:5px;background:#fff;color:#172033;font-size:18px}
.sr-rank-dialog footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 20px;border-top:1px solid #d6e2df}
.sr-rank-dialog .sr-rank-confirm{background:#087f5b;border-color:#087f5b;color:#fff;font-weight:700}
.sr-rank-dialog button:focus-visible,.sr-rank-dialog select:focus-visible{outline:3px solid #f5b735;outline-offset:2px}
.school-document-template-band.tone-increment{border-color:#a7d9c4;border-left-color:#087f5b;background:#ecfdf5}
.school-document-template-band.tone-increment .school-document-template-mark,.school-document-template-band.tone-increment>button{background:#087f5b}
.school-document-record.tone-increment .school-document-record-icon{background:#dcfce7;color:#087f5b}
.school-document-record.tone-increment .school-document-record-type{color:#087f5b}
.salary-review-editor{box-sizing:border-box;font-family:KlassinSarabun,Tahoma,sans-serif;letter-spacing:0}
.salary-review-editor .school-document-editor-toolbar h2{font-size:20px;line-height:1.5;white-space:normal}
.salary-review-editor .school-document-editor-toolbar p{font-size:14px}
.salary-review-editor .school-document-editor-toolbar>div>span{font-size:13px}
.salary-review-editor .school-document-editor-layout{grid-template-columns:minmax(400px,1fr) minmax(0,1fr)}
.salary-review-editor button,.salary-review-editor input,.salary-review-editor select,.salary-review-editor textarea{font-family:inherit;letter-spacing:0}
.salary-review-editor .school-document-editor-actions button{font-size:16px}
.salary-review-editor .school-document-form-panel{min-width:0;box-shadow:none}
.salary-review-editor .school-document-preview-panel{min-width:0;box-shadow:none}
.sr-form{color:#182823;font-size:16px;line-height:1.6}
.sr-form *, .sr-paper *{box-sizing:border-box}
.sr-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:6px;border-bottom:1px solid #d6e2df;background:#f5f8f7}
.sr-tabs button{min-width:0;min-height:44px;padding:8px;text-align:left;line-height:1.45;font-size:15px;background:#fff;border:1px solid #d6e2df;border-radius:5px;color:#34443d;font-weight:700;overflow-wrap:anywhere;cursor:pointer}
.sr-tabs button[aria-pressed="true"]{background:#087f5b;border-color:#087f5b;color:#fff}
.sr-form button:focus-visible,.sr-form select:focus-visible,.sr-form input:focus-visible,.sr-page-select select:focus-visible{outline:3px solid #f5b735;outline-offset:2px}
.sr-score-key{font-size:14px;line-height:1.65;padding:10px 16px;background:#f7faf8;color:#4d6055;border-bottom:1px solid #d6e2df}
.sr-form [hidden]{display:none!important}
.sr-form-section{padding:18px}
.sr-form-section h3{font-size:18px;line-height:1.55;margin:20px 0 12px;color:#1d4437;font-weight:700}
.sr-form-section h3:first-child{margin-top:0}
.sr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
.sr-full{grid-column:1/-1}
.sr-field{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:700;color:#354b41}
.sr-field input,.sr-field select,.sr-field textarea{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:9px 10px;border:1px solid #bfcfc7;background:#fff;border-radius:5px;color:#17271f;font-size:16px;line-height:1.5;font-weight:400;outline-offset:2px}
.sr-field textarea{resize:vertical;min-height:100px}
.sr-field input:focus,.sr-field select:focus,.sr-field textarea:focus{border-color:#087f5b}
.sr-print-aliases{margin-top:18px;padding-top:14px;border-top:1px solid #d6e2df}
.sr-print-aliases summary{cursor:pointer;font-size:16px;font-weight:700;color:#24503c}
.sr-print-aliases>.sr-grid{margin-top:12px}
.sr-leave-grid{display:grid;grid-template-columns:minmax(70px,1fr) repeat(2,minmax(0,1fr));align-items:center;gap:8px;margin-bottom:14px}
.sr-leave-grid .sr-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.sr-total-line{border-bottom:1px solid #d6e2df;padding:12px 0;text-align:right}
.sr-total-line output{font-size:22px;font-weight:700;color:#087f5b;margin:0 8px}
.sr-score-row{padding:14px 0;border-bottom:1px solid #e0e7e3}
.sr-score-row:first-child{padding-top:0}
.sr-score-title{min-width:0;margin-bottom:10px}
.sr-score-title strong{font-weight:700;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.sr-score-title details{margin-top:5px;font-size:14px;color:#53675c}
.sr-score-title summary{cursor:pointer;color:#19634b}
.sr-score-title p{margin:6px 0 0}
.sr-score-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sr-score-inputs .sr-field>span{font-size:14px}
.sr-formula{padding:12px 0;color:#39554a;font-size:15px;line-height:1.7}
.sr-rubric{display:grid;grid-template-columns:85px 1fr;gap:10px;padding:16px 0;font-size:16px}
.sr-rubric dt,.sr-rubric dd{margin:0}
.sr-summary{border-collapse:collapse;width:100%;font-size:15px;table-layout:fixed}
.sr-summary th,.sr-summary td{padding:12px 6px;border-bottom:1px solid #d6e2df;overflow-wrap:anywhere;vertical-align:middle}
.sr-summary th:first-child{width:46%;text-align:left}
.sr-summary thead{background:#edf6f0;color:#24503c}
.sr-summary td{text-align:center;font-size:17px;font-weight:700}
.sr-summary tbody tr:nth-last-child(-n+2){background:#edf6f0}
.sr-summary .sr-pending{font-size:13px;color:#68756e;font-weight:400}
.sr-step-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-top:1px solid #d6e2df;background:#f5f8f7}
.sr-step-actions button{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px;background:#fff;border:1px solid #bfcfc7;border-radius:5px;color:#24503c;font-size:15px;cursor:pointer}
.sr-step-actions button:disabled{opacity:.45;cursor:default}
.sr-step-actions>span{font-size:14px;color:#53675c}
.sr-submit{width:100%;min-height:46px;margin-top:18px;padding:10px 12px;border:0;border-radius:5px;background:#087f5b;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.sr-submit:disabled{opacity:.6;cursor:wait}
.sr-page-select{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#f5f8f7;font-size:15px;color:#354b41}
.sr-page-select>span{flex:none}
.sr-page-select select{width:100%;min-width:0;padding:8px;border:1px solid #bfcfc7;border-radius:5px;background:#fff;min-height:42px;font-size:15px}
.salary-review-editor .school-document-preview-stage{min-height:0}
.salary-review-editor .school-document-preview-scale{transform-origin:top center}

/* Fixed A4 typography is shared by preview and print, including the bundled Thai font. */
.sr-paper{--sr-ink:#163d9b}
.school-document-paper.sr-paper{display:block;box-sizing:border-box;width:210mm;height:297mm;padding:15mm 16mm 13mm;background:#fff;color:#000;font-family:KlassinSarabun,Tahoma,sans-serif;font-size:10.5pt;font-weight:400;line-height:1.5;letter-spacing:0;overflow:visible;flex:none;position:relative}
.sr-paper p{margin:1.3mm 0;color:#000;font-weight:400}
.sr-paper h1,.sr-paper h2,.sr-paper h3{color:#000;letter-spacing:0;font-family:inherit;font-weight:700;text-shadow:none}
.sr-paper h1,.sr-paper h2{margin:0;font-size:14pt;line-height:1.6}
.sr-paper h3{font-size:11.7pt;line-height:1.55;margin:3mm 0 1.5mm}
.sr-print-heading{text-align:center;margin:1mm 0 6mm}
.sr-print-line{display:flex;align-items:baseline;gap:1mm;min-width:0}
.sr-print-line .sr-check{align-self:center;flex:none}
.sr-dot{display:inline-block;flex:1;min-width:0;min-height:1.1em;line-height:1.3;text-align:center;border-bottom:1px dotted #000;padding:0 .6mm;overflow-wrap:anywhere;font-weight:400}
.sr-check{display:inline-flex;width:4mm;height:4mm;align-items:center;justify-content:center;border:1.2px solid #000;vertical-align:middle;font:700 11pt/1 Arial,sans-serif;margin-right:1.2mm;color:#000}
.sr-print-identity{font-size:9pt}
.sr-print-identity>.sr-print-line{display:grid;grid-template-columns:29mm minmax(0,1fr) 12mm 40mm 9mm 40mm;gap:1mm}
.sr-identity-label{flex:none;white-space:nowrap}
.sr-identity-name-label{display:flex;align-items:baseline;line-height:1.3;min-height:calc(1.3em + 1px)}
.sr-identity-leader{flex:1;align-self:stretch;margin-right:-1mm;border-bottom:1px dotted #000}
.sr-rounds{margin:3mm 0 5mm;font-weight:700}
.sr-rounds .sr-print-line{justify-content:flex-start;margin:2mm 0}
.sr-page-number{text-align:center;margin:0 0 6mm}
.sr-section-title{text-decoration:underline;margin:5mm 0 3mm!important}
.sr-cover-fields>.sr-print-line{margin:2.5mm 0}
.sr-gap{height:3mm}
.sr-instruction-box{border:1px solid #000;padding:3mm;margin-top:6mm;font-size:9.6pt;line-height:1.55}
.sr-instruction-box h3{text-decoration:underline;margin:1mm 0 5mm}
.sr-instruction-box p{margin:1.2mm 0}
.sr-indent{padding-left:16mm}
.sr-sign{width:106mm;margin:4mm 2mm 4mm auto;text-align:center;line-height:1.5}
.sr-sign p{display:grid;grid-template-columns:14mm 64mm 28mm;align-items:baseline;margin:1.5mm 0}
.sr-sign-label{text-align:right;padding-right:1mm;white-space:nowrap}
.sr-sign-suffix{text-align:left;padding-left:1mm;white-space:nowrap}
.sr-sign p:first-child{padding-top:6mm}
.sr-rating-list{margin:3mm 0 3mm 15mm}
.sr-rating-list b{display:inline-block;min-width:22mm}
.sr-comment-lines{min-height:23mm;line-height:7.5mm;white-space:pre-wrap;overflow-wrap:anywhere;background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(7.5mm - 1px),#888 calc(7.5mm - 1px),#888 7.5mm);font-size:11pt}
.sr-ack-box{border:1px solid #000;margin-top:4mm}
.sr-ack-box section{padding:5mm 10mm;min-height:65mm}
.sr-ack-box section+section{border-top:1px solid #000;min-height:123mm}
.sr-ack-box .sr-sign{margin-top:10mm;margin-bottom:5mm}
.sr-scale-instructions{padding-left:8mm;margin:2mm 0}
.sr-scale-instructions p{margin:.3mm 0}
.sr-print-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:3mm 0;border:1px solid #000;font-size:10.5pt;line-height:1.45}
.sr-print-table td,.sr-print-table th{border:1px solid #000;padding:1mm;vertical-align:middle;overflow-wrap:anywhere;color:#000}
.sr-print-table th{font-weight:700}
.sr-print-table td,.sr-print-table thead th{text-align:center}
.sr-print-table .sr-description{text-align:left;vertical-align:top}
.sr-print-table .sr-mark{padding:0;font:700 13pt/1.1 Arial,sans-serif}
.sr-print-table .sr-number{font-size:12pt;padding:.6mm}
.sr-paper .sr-ink,.sr-paper .sr-dot,.sr-paper .sr-check,.sr-paper .sr-mark,.sr-paper .sr-comment-lines{color:var(--sr-ink)}
.sr-print-table .sr-group th{text-align:left;background:#e4e4e4;padding:.8mm 1mm}
.sr-print-table .sr-total{font-weight:700;min-height:7mm}
.sr-shade{background:#e8e8e8}
.sr-summary-print{font-size:9.8pt}
.sr-summary-print td,.sr-summary-print th{padding:1.8mm 1.5mm}
.sr-summary-print th:first-child{text-align:left}
.sr-print-formula{display:flex;align-items:center;justify-content:center;gap:2mm;border:1px solid #000;width:fit-content;min-width:63mm;margin:3mm auto;padding:1.8mm 5mm;text-align:center;font-weight:700}
.sr-print-formula span{display:inline-block;text-align:center}
.sr-print-formula hr{border:0;border-top:1px solid #000;margin:.2mm 0}
.sr-conversion{width:76mm;margin:3mm auto}
.sr-conversion td,.sr-conversion th{padding:.7mm}
.sr-stars{text-align:center;margin:4mm 0}
.sr-page-4{font-size:9.3pt!important;line-height:1.4!important;padding-top:12mm!important}
.sr-page-4 .sr-print-heading{margin-bottom:3mm}
.sr-page-4 .sr-print-heading h1,.sr-page-4 .sr-print-heading h2{font-size:12pt}
.sr-page-4 h3{font-size:10.6pt;margin:2mm 0 1mm}
.sr-page-4 .sr-rounds{margin:2mm 0}
.sr-page-4 .sr-standards{font-size:9pt;line-height:1.4}
.sr-page-4 .sr-scale-instructions p{margin:0}
.sr-page-5 .sr-standards{font-size:9.3pt;line-height:1.4}
.sr-page-5 .sr-standards .sr-description{padding:1.2mm 1mm}
.sr-page-6{font-size:9.5pt!important;line-height:1.42!important}
.sr-page-6 .sr-standards{font-size:9.6pt;line-height:1.4}
.sr-page-6 .sr-standards .sr-description{padding:1.2mm 1mm}
.sr-page-6 h3{font-size:10.5pt;line-height:1.5}
.sr-page-7{font-size:9.7pt!important;line-height:1.4!important}
.sr-page-7 .sr-challenge-table{font-size:9.2pt;line-height:1.35}
.sr-page-7 .sr-challenge-table .sr-description{padding:1.5mm}
.sr-outcome-heading{display:block;background:#eee;margin:-1.5mm -1.5mm 1mm;padding:.7mm 1.5mm}
.sr-page-7 h3{font-size:10.6pt}
.sr-page-8 .sr-print-heading{margin-bottom:8mm}
.sr-page-8 .sr-participation-table tbody tr:first-child{height:22mm}
.sr-page-8 .sr-print-formula{margin:5mm auto}
.sr-page-9{font-size:9.2pt!important;line-height:1.35!important;padding-top:12mm!important}
.sr-page-9 .sr-print-heading{margin-bottom:4mm}
.sr-page-9 .sr-print-heading h1,.sr-page-9 .sr-print-heading h2{font-size:12pt}
.sr-page-9 .sr-ethics-table{font-size:9pt;line-height:1.32}
.sr-page-9 .sr-ethics-table td{padding:.9mm 1mm}
.sr-page-9 h3{font-size:10.5pt}
@media(max-width:1100px){.salary-review-editor .school-document-editor-layout{grid-template-columns:minmax(350px,1fr) minmax(0,1fr)}}
@media(max-width:900px){.salary-review-editor .school-document-editor-layout{display:block}.salary-review-editor .school-document-mobile-tabs{display:grid;grid-template-columns:1fr 1fr}.salary-review-editor .school-document-mobile-tabs button{font-size:16px;min-height:44px}.salary-review-editor .school-document-editor-layout[data-mobile-tab="form"] .school-document-preview-panel,.salary-review-editor .school-document-editor-layout[data-mobile-tab="preview"] .school-document-form-panel{display:none}.salary-review-editor .school-document-preview-panel{position:static}}
@media(max-width:540px){.sr-form-section{padding:14px}.sr-tabs{padding:10px;gap:6px}.sr-tabs button{font-size:14px;padding:8px 6px}.sr-grid{gap:12px 10px}.sr-grid>.sr-field{grid-column:1/-1}.sr-grid>.sr-field:has(input[type="date"]){grid-column:auto}.sr-field{font-size:14px}.salary-review-editor .school-document-editor-toolbar{flex-wrap:wrap;gap:10px}.salary-review-editor .school-document-editor-toolbar h2{font-size:18px}.salary-review-editor .school-document-editor-actions{margin-left:auto}.salary-review-editor .school-document-preview-toolbar{flex-wrap:wrap}.sr-summary{font-size:14px}.sr-summary td{font-size:16px}.sr-summary th,.sr-summary td{padding:10px 4px}.sr-score-inputs{gap:10px}}
@media(prefers-reduced-motion:reduce){.document-quick-increment-icon,.document-quick-increment-mark{animation:none!important;transition:none!important}}
@media print{@page{size:A4 portrait;margin:0}html,body{margin:0;padding:0;background:#fff}.school-document-paper.sr-paper{box-shadow:none;margin:0;break-after:page;page-break-after:always;overflow:visible}.school-document-paper.sr-paper:last-child{break-after:auto;page-break-after:auto}.sr-paper{-webkit-print-color-adjust:exact;print-color-adjust:exact}.sr-print-table tr{break-inside:avoid}.sr-rank-dialog{display:none!important}}
