:root{--pri:#1d5a3b;--pri2:#eaf3ee;--gold:#c9a24b;--bd:#d3dcd6;--bg:#f5f7f6;--ok:#1b7a3d;--warn:#b26a00;--err:#b3261e}
*{box-sizing:border-box}
body{margin:0;font-family:'Sarabun','TH Sarabun New',sans-serif;background:var(--bg);color:#22181c;font-size:16px}
a{color:var(--pri)}
.top{background:var(--pri);color:#fff;padding:8px 18px;display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;border-bottom:4px solid var(--gold)}
.top a{color:#fff;text-decoration:none}.brand b{display:block;font-size:18px}.brand small{opacity:.85;font-size:13px}
.top nav{display:flex;gap:4px;flex-wrap:wrap;flex:1}.top nav a{padding:6px 12px;border-radius:6px}.top nav a.on,.top nav a:hover{background:rgba(255,255,255,.18)}
.me{font-size:14px}.me a{margin-left:8px;text-decoration:underline}
.tag{background:var(--gold);color:#3a2a00;border-radius:999px;padding:1px 8px;font-size:12px}
main{max-width:1180px;margin:18px auto;padding:0 14px 50px}
footer{text-align:center;color:#7a6e72;font-size:13px;padding:20px}
h1{color:var(--pri);font-size:24px;margin:6px 0 14px}h2{color:var(--pri);font-size:19px;margin:0 0 10px}
.card{background:#fff;border:1px solid var(--bd);border-radius:10px;padding:16px;margin-bottom:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.grid .wide{grid-column:1/-1}
label.f{display:block;font-size:14px;color:#5b4d53}
input,select,textarea{font:inherit;width:100%;border:1px solid var(--bd);border-radius:6px;padding:7px 9px;background:#fff;margin-top:3px;color:#22181c}
textarea{min-height:80px;resize:vertical}
input[type=checkbox]{width:auto}
.btn{font:inherit;display:inline-block;background:var(--pri);color:#fff;border:1px solid var(--pri);border-radius:6px;padding:7px 16px;cursor:pointer;text-decoration:none}
.btn.ghost{background:#fff;color:var(--pri)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#3a2a00}.btn.red{background:var(--err);border-color:var(--err)}
.btn.sm{padding:3px 10px;font-size:14px}
.bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.bar.right{justify-content:flex-end}
table.t{width:100%;border-collapse:collapse;background:#fff}
.tw{overflow-x:auto}
table.t th,table.t td{border:1px solid var(--bd);padding:6px 8px;text-align:left;vertical-align:top}
table.t th{background:var(--pri2);font-size:14px}
table.t td.n,table.t th.n{text-align:right}
table.t tr:hover td{background:#fcfafb}
.badge{display:inline-block;border-radius:999px;padding:1px 10px;font-size:13px;background:#eee}
.badge.ok,.st-approved{background:#dff5e6;color:var(--ok)}.st-draft{background:#eee;color:#555}.st-returned,.st-cancelled{background:#fde8e6;color:var(--err)}
.st-submitted,.st-head_ok,.st-plan_ok,.st-fin_ok{background:#fff1d6;color:var(--warn)}
.alert{padding:10px 14px;border-radius:8px;margin-bottom:12px}.alert.ok{background:#dff5e6;color:var(--ok)}.alert.err{background:#fde8e6;color:var(--err)}.alert.warn{background:#fff1d6;color:var(--warn)}
.chk{border-left:4px solid;padding:7px 10px;margin:6px 0;border-radius:0 6px 6px 0;background:#fff}
.chk small{display:block;color:#7a6e72}.chk.error{border-color:var(--err);background:#fff6f5}.chk.warn{border-color:var(--warn);background:#fffaf0}.chk.info{border-color:var(--pri);background:var(--pri2)}
.stat{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.stat>div{flex:1;min-width:150px;background:var(--pri2);border-radius:8px;padding:10px}.stat b{display:block;font-size:20px;color:var(--pri)}
.muted{color:#7a6e72;font-size:14px}
.login{max-width:400px;margin:60px auto}
.steps{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}.steps span{padding:3px 10px;border-radius:999px;background:#eee;font-size:13px}.steps span.done{background:#dff5e6;color:var(--ok)}.steps span.now{background:var(--gold);color:#3a2a00;font-weight:600}
.sticky{position:sticky;bottom:0;background:#fff;border-top:2px solid var(--gold);padding:10px 14px;margin:0 -14px;z-index:5}
.tbl-budget input{padding:4px 6px;text-align:right;min-width:74px}.tbl-budget input.txt{text-align:left;min-width:180px}.tbl-budget select{min-width:130px}
.cat-h td{background:var(--pri2)!important;font-weight:600}
.paper{background:#fff;width:210mm;max-width:100%;margin:0 auto 16px;padding:18mm 20mm 18mm 25mm;font-family:'Sarabun','TH Sarabun New',serif;font-size:16pt;line-height:1.4;border:1px solid var(--bd)}
.paper h1{text-align:center;color:#000;font-size:20pt;margin:0 0 8px}.paper h2{color:#000;font-size:16pt;margin:12px 0 3px}
.paper p{margin:2px 0;text-indent:1.2cm;text-align:justify}.paper ol{margin:2px 0;padding-left:1.8cm}
.paper table{width:100%;border-collapse:collapse;font-size:14pt;margin:6px 0}.paper th,.paper td{border:1px solid #000;padding:2px 6px}.paper th{background:#eee}
.memo-h{display:flex;align-items:center;gap:10px}.memo-h .t{flex:1;text-align:center;font-size:26pt;font-weight:700;margin-right:40px}
.line{border-bottom:1px dotted #000;padding-bottom:2px;margin:6px 0}
.sign{display:flex;justify-content:space-around;flex-wrap:wrap;gap:20px;margin-top:26px;text-align:center}.sign div{min-width:210px}
.pagebreak{page-break-after:always}
@media print{body{background:#fff}.no-print{display:none!important}main{max-width:none;margin:0;padding:0}.paper{border:0;padding:0;width:auto;margin:0}@page{size:A4;margin:20mm 15mm 18mm 25mm}tr{page-break-inside:avoid}}

.form .hd{width:100%;border-collapse:collapse}.form .hd td{border:0;padding:0}.form .ttl{text-align:center;font-size:29pt;font-weight:700}
.form p.l{margin:0 0 3px;text-indent:0;text-align:left;font-size:16pt}.form .lb{font-size:20pt}.form p.hang{padding-left:1.7cm;text-indent:-1.7cm}
.form .tab{display:inline-block;width:2.5cm}.form p.b{text-indent:1.6cm;margin:4px 0;text-align:justify}
.form .sig{margin-left:9cm;width:8cm;text-align:center;margin-top:8px}.form h3.c{text-align:center;font-size:18pt;margin:6px 0 10px;color:#000}
.form p.c{text-align:center;text-indent:0;margin:0}.form table.bt{width:100%;border-collapse:collapse;font-size:16pt}
.form table.bt th,.form table.bt td{border:1px solid #000;padding:3px 7px;vertical-align:top;text-align:left}.form table.bt th{text-align:center;background:#eee}
.form{line-height:1.3}.form .sig{page-break-inside:avoid;margin-top:2px}.form p.b{margin:3px 0}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
@media(max-width:980px){.layout{grid-template-columns:1fr}.side{order:-1}}
.sticky-side{position:sticky;top:8px;max-height:calc(100vh - 90px);overflow:auto}
.chk-list .chk{font-size:14px;padding:5px 8px}.chk-list small{font-size:12px}
.meter{margin-bottom:10px}.meter .mh{display:flex;justify-content:space-between;font-size:14px;gap:8px}.meter .mb{height:9px;background:#e6ece8;border-radius:5px;overflow:hidden;margin:3px 0}.meter .mb i{display:block;height:100%}
.assist{background:var(--pri2);border:1px dashed var(--pri);border-radius:8px;padding:10px 12px;margin-bottom:12px}
label.f .lab{display:flex;justify-content:space-between;align-items:center;gap:8px}
