*{box-sizing:border-box}body{margin:0;font-family:'Sarabun',sans-serif;background:#f2f6f0;color:#1d2b1d;font-size:17px}
header{background:#2f6b2f;color:#fff;padding:14px 16px;text-align:center}header h1{margin:0;font-size:1.25rem}
main{max-width:720px;margin:16px auto;padding:0 12px}.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 4px #0002;margin-bottom:16px}
label{display:block;margin:12px 0 4px;font-weight:600}input,select,textarea{width:100%;padding:10px;border:1px solid #b9c7b9;border-radius:8px;font:inherit;background:#fff}
textarea{min-height:110px}button{background:#2f6b2f;color:#fff;border:0;border-radius:8px;padding:11px 18px;font:inherit;cursor:pointer;margin-top:14px}
button.alt{background:#e3ebe3;color:#1d2b1d}button.danger{background:#b3261e}.tabs{display:flex;gap:8px}.tabs button{flex:1;margin:0 0 12px}.tabs button.on{background:#1d4a1d;color:#fff}
.badge{display:inline-block;padding:3px 12px;border-radius:99px;color:#fff;font-size:.9rem}.new{background:#c77d00}.progress{background:#1a6fb3}.done{background:#2f8a2f}
.hide{display:none}.center{text-align:center}.code{font-size:1.8rem;font-weight:700;letter-spacing:3px}.err{color:#b3261e}
.wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{border-bottom:1px solid #ddd;padding:6px 8px;text-align:left;vertical-align:top}
.row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.row input{flex:1}.row button{margin:0}
